c语言的问题汇总

简介: c语言各类问题

定义一个结构体,有两个成员变量,一个整型的n,一个字符型的c,利用结构体类型声明一个具有5个元素的数组,并随机初始化,根据成员变量n进行从小到大排序,然后输出
冒泡排序然后 在输出结构体

include

struct d
{
int x;
char y;
};
int main(void)
struct d a[5];
int i,d;
int b[6];
for(i=0;i<5;i++)
scanf("%d%c",&a[i].x,&a[i].y);
}
b[i]=a[i].x;

for(d=0;d<5-i;d++) if(b[d]>b[d+1])
b[6]=b[d]+b[d+1];
b[d]=b[6]-b[d];
b[d+1]=b[6]-b[d];
for(d=0;d<5;d++) if(b[i]==a[d].x) printf("%d%c",a[d].x,a[d].y); return 0; //字母 顺序输出 char a,b; scanf("%c%c",&a,&b); if(a>b)

while(a>=b)
{
printf("%c",a);
a--;
}
else
while(b>=a)
{
printf("%c",b);
b--;
}
//输出数组的个数比较多的 数字
int main (void)
int a1[10],a2[10]={0,0,0,0,0,0,0,0,0,0},a3[10];
int i,j,Max=0,ci=0,k=0;
for(i=0;i<10;i++)
{
scanf("%d",&a1[i]);
}
for(j=0;j<10;j++)
for(i=0;i<10;i++)
{
if(a1[j]==a1[i])
{
a2[j]++;
}
}
if(Max<a2[i])
Max=a2[i];
j=0;
if(Max==a2[i])
for(j=0;j<k;j++)
{
if(a3[j]==a1[i])
{
ci++;
}
if(ci==0)
printf("%d",a1[i]);
a3[k]=a1[i];
k++;
}
else
break;

return 0;

//杨辉三角

include

main()
{ int i,j,n=0,a[17][17]={0};
while(n<1 || n>16)
{ printf("请输入杨辉三角形的行数:");
scanf("%d",&n);
}
for(i=0;i=0;k--)
// if(a[k][0]!=32)
printf("%c\n",a[k][0]);
}
char a[100][12];
数字分解求和

include

void swap(int a)
int i=0,sum=0,j,k,b=0;
for(j=1;j<a;j++)
for(i = j; i < a;i ++)
sum += i;
if(sum == a )
{
sum = 0;
b++;
printf("%d=",a);
for(k = j;k < i;k ++)
printf("%d+",k);
printf("%d\n",i);
break;
}

    sum=0;//每次用过后清零 否则 影响下次的求和
 }
if(b==0)
    printf("无法分解");

int main( void)
int a;
scanf("%d",&a);
swap(a);
//输入三个数字 啊a b c c为步长
按顺序 输出 a到b的数组 步长为c 例如
1 3 1 输出:1 2 3
void swap(int a, int b, int c)
int i=0;
if(a>b)
for(i=a;i>=b;){
printf("%d",i);
i-=abs(c);
else
for(i=a;i<=b;)
i+=abs(c);
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
swap(a,b,c);

//代码效果参考:http://www.zidongmutanji.com/bxxx/466186.html
//1元钱能买一瓶汽水,喝完后n个空瓶可以换一瓶汽水。实现一个函数,传递一个整形的钱数m,一个整形的兑换比例n,返回最多能喝到的汽水数,并在main函数里将返回值输出。
int swap(int x, int y)
int a,sum = x;
a=x;
for (;(a/y)>0 ; ) {
sum+=a/y;
a=a/y+a%y;
//sum=sum-a%y;
return sum;
int a,b;
scanf("%d%d",&a,&b);

printf("%d",swap(a,b));

//n的末尾的0
的个数

include //算法思想 是 把每个因数分解 计算因数中含有5的个数 5的个数就是结果

int Sum(const int n)
if(n<5) return 0;
int counter=0,i;
for(i=5;i<=n;i++){
int flag=i;
while(flag%5==0)
flag/=5;
counter++;
return counter;
int a;
scanf("%d",&a);
int b=Sum(a);
printf("%d",b);
//魔幻方阵 就是 横竖斜 相加数值都相等

include"stdio.h"

void main()
int a[15][15]={};
int n,i,j,k,p,q;
scanf("%d",&n);
i=0;
j=(n/2);
a[i][j]=1;
for(k=2;k<=n*n;k++)
p=i;
q=j;
j++;
if(i<0) i=n-1; if(j>n-1)
j=0;
if(a[i][j]!=0)
i=p+1;
j=q;
a[i][j]=k;
for(i=0;i=0;j--)
printf(" %3d ",a[i][j]);
//字符统计 输入不限个数数字 进行升序排序
、//跳出循环用数字与数字中间的空格判断 如果是\n就跳出循环

include

int array[]={};
int i,j,x=0,k;
char c;
   for(i = 0 ; ; i++){
    scanf("%d%c",&x,&c);
     array[i] = x;
    if(c == '\n')
        break;
for (j=0; j<=i; j++) {
    for (x=0; x <= i-j-1; x++) {
        if (array[x]>array[x+1]) {
        int s=array[x]+array[x+1];
            array[x]=s-array[x];
             array[x+1]=s-array[x];
for (k = 0;k <= i ; k ++) {
     printf("%d",array[k]);

//围圈报数 输入 4 8
输出 1 2 3 4
0 0 0 5
0 0 0 6
0 0 8 7

include

int main(void){
int a,i,j,x,y,n,k;
scanf("%d%d",&n,&k);
a = (int
) malloc(sizeof(int)n);
for(i=0; in-1|| a[x][y+1]!=0) {j=1;x++;}
else y++;
break;
case 1:
if(x+1>n-1 || a[x+1][y]!=0){j=2;y--;}
else x++;
case 2:
if(y == 0 || a[x][y-1]!=0){j=3; x--;}
else y--;
case 3:
if(a[x-1][y]!=0){j=0; y++;}
else x--;
for(i=0;i 1 ; i ++) {
if (num[i] == 1) {
count++;
if(count == b)
{
a--;
num[i]=0;
count=0;
}
if(i == c-1) // 循环的范围是 小于人的个数
i = -1;
for (i = 0; i < c; i ++) {
if (num[i] == 1) {//输出最后一个人的 号码
printf("%d",i+1);
}
//小明一次可以爬一级或者二级台阶 试问n级台阶 小明来走共有几种走法
int fun(int red,int n,char temp[],int k)
int i,j;
static int sum=0;
if(red==0)
for(i=1;i<=n;++i)
//printf("y");
//printf("\n");
sum++;
else if(n==red)
for(i=1;i<=red;++i)
{// printf("r");
//printf("r");
temp[k++]='r';
fun(red-1,n-1,temp,k);
k--;
{ // printf("%c",temp[j]);
//printf("y");
temp[k++]='y';
fun(red,n-1,temp,k);
}int main()
int n,k,i,d,s=0;
char temp[100];
scanf("%d",&n );
for (i=0; i <= n/2; i++) {
k = n - 2 * i;
d=i+k;
s = fun (i,d,temp,0);
printf("%d",s);

比如:
输入:F
输出:
FEDCBA
EDCBAB
DCBABC
CBABCD
BABCDE
ABCDEF
char i, j , k ,sum=0;;
int count=0;
scanf("%c",&k);
sum = k - 'A'+1;
// printf("%d",sum);
for (i = k ; i >= 'A' ; i --) {
count = 0;
for (j = i ; j >= 'A' ; j --) {
printf("%c",j);
count++;
if(count == sum)
j++;
for (j++; ; j++) {
if (count == sum)

//代码效果参考:http://www.zidongmutanji.com/bxxx/162088.html
//二维数组村字符串
用一维指针字符数组来存二维字符数组
char n[90];
int i;
for (i = 0; i < 90; i ++){
n[i]=(char
)malloc(sizeof(char)50);//动态申请字符的空间
scanf(“%s”,n[i]);//每个字符串
for (i=90; i>= 0; i --) {
if(n[i])//如果不为null 那么输出
printf("%s",n[i]);
//输入不定数 数组 来排序
//scanf 与getchar 区别 getchar只会接受字符
scanf(%d,a)只读取数字 留下空格 和回车 每次只读取一个数字
int a[100] = {};
int n = 0;
int i = 0;
printf("请输入数字以空格分隔开,以回车结束:\n");
do
scanf("%d", &n);//读取数字 下个字符是空格正好给了getchar 最后一个是回车 正好给getchar读取 跳出循环
a[i] = n;
i++;
while (getchar() != '\n');
for (int j = 0; j < i ; j++)
printf("%d ", a[j]);
//指针 排序数组 数组个数不限
void desc( int
a ,int n)
int i = a,j = i+ 1,temp, x= 0, k = a + n ;//i是数组初始地址 temp是 变量 k是数组结束地址
// printf("%d",
k);
for ( x = 0; x < n ;x ++ )
for ( i = a ; i < k - 1 - x ; i ++)
j= i + 1;//i 与j 是地址 k也是地址
if ( i > j )//i是 i指向的 数值
temp = i; i = j; j = temp;
void desc(int num, int n);
int num[10];
int i = 0, k = 0;
do{
scanf("%d",&num[i]);
}while(getchar()!= '\n');
desc(num, i);
for (k=0; k < i; k ++) {
printf("%d",num[k]);
//定义一个一维字符指针数组,并利用不定长字符串将其初始化,最后一段字符串以‘@’结尾,然后将各字符串输出。
输入:
abc
ddde
abce@
char
n[10];
char p [100][20];
int i = 0 , j , k1 = 0, k2 , k3;
for (i = 0; i < 10; i ++){
n[i]=p[i];
scanf("%s",n[i]);
for (j = 0; j < 20; j ++) {
if(n[i][j] == '@'){
k1=1;
k3=j;
if (k1 == 1 ) {
for (k1 = 0; k1 < i; k1 ++) {
printf("%s",n[k1]);
for (k2 = 0; k2 < k3; k2 ++) {
printf("%c",n[k1][k2]);

相关文章
|
编译器 C语言
初识C语言
本篇旨在初步了解C语言的大概知识,并不作深入探讨。知识点会在后期的更新的文章中进行深入学习。
40 0
|
5月前
|
C语言
什么?这就是传说中的c语言讲解
什么?这就是传说中的c语言讲解
51 0
|
5月前
|
安全 算法 网络安全
C语言在安全领域的应用
本文探讨了C语言在网络安全中的应用,包括密码学算法实现、网络安全工具开发和安全协议实现。C语言因其高效性、可控性和跨平台性,常用于实现AES、RSA等加密算法,开发网络扫描器和入侵检测系统,以及实现SSL/TLS、IPSec等安全协议。代码示例展示了C语言如何进行AES加密解密。尽管C语言在安全领域有显著优势,但面对不断演变的威胁,持续学习和研究新的安全技术至关重要。
|
编译器 C语言 C++
初识c语言
一个程序运行起来如果报错或者结果是上一次运行程序的结果那么就是你写的程序有问题,可以用cursor这个编码chatgpt这个软件看一下那里出现的问题,但是要保证自己的代码是完整的我们在vs2022中要创建的源文件,头文件是用来存放自定义函数的。因为我们学习的是c语言所以我们创建的文件的以.c结尾的,不能是.cpp,因为c语言的语法规则和c++的语法规则不一样,要不然写出来的程序会报错。printf()函数在程序的函数体内实现,printf(“”)是负责打印(“”)里面的字符。scanf()函数的使用。
|
存储 编译器 C语言
你应该知道的C语言干货(1)
小数直接写出来编译器默认为double类型,后面加上f才是float类型
80 0
|
C语言
C语言中的坑(1)
C语言中的坑(1)
44 0
|
5月前
|
C语言
用c语言画爱心
用c语言画爱心
208 0
|
10月前
|
Java 编译器 C语言
初识C语言(1)
初识C语言(1)
77 0
|
C语言
【C语言】汉罗塔
【C语言】汉罗塔
97 0
【C语言】汉罗塔