当前位置:首页 » 编程语言 » 一个最简单的c语言程序
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

一个最简单的c语言程序

发布时间: 2022-03-07 06:48:23

❶ 新手问题,一个非常简单的c语言程序。

x=3;
a=x++; //先把x=3赋给a接着x++就是x自增,所以x此时为4.
b=x++; //把x=4赋给b接着x++即自增,此时x为5.
c=x++; //把x=5赋给c接着x++即自增,此时x为6.
所以a=3;b=4;c=5;
所以y=a+b+c=12,
x=6.
x++是先把x的值进行运算,接着x加1.

❷ C语言编写一个简单程序

#include<stdio.h>
#include<time.h>
voidmain(){
inta,b,c;
charstr[4]={'+','-','*','/'};
doubled,num;
srand(time(NULL));
a=rand()%90+10;
b=rand()%10+1;
c=rand()%4;
switch(str[c])
{
case'+':d=a+b;break;
case'-':d=a-b;break;
case'*':d=a*b;break;
case'/':d=a*1.0/b;break;
}
printf("%d%c%d=",a,str[c],b);
scanf("%lf",&num);
if(num==d)printf("Right!");
else
(c!=3)?printf("Wrong! %d%c%d=%d",a,str[c],b,(int)d):printf("Wrong! %d%c%d=%lf",a,str[c],b,d);
}

❸ 一个很简单的C语言程序

不要先把总结果求出来再取最后一个数字
因为最后一个数字肯定有数字的个位数决定
比如13^13,就求3*13,但是每次记录最后一个数字
3×3=9 9
9×3=27 7
7×3=21 1
1×3=3 3
3×3 9
然后就可以看出是个最后结果处于每4次一个循环
因为13x13x13...x13总共有12个乘号,所以12%4=0所以结果是3

再举一个例子77^77,就求7^77
7×7=49 9
9×7=63 3
3×7=21 1
1×7=7 7
7×7=49 9
所以4次一循环
77x77x77..x77中有76个乘号,所以76%4=0,所以取循环的第四个数,答案是7

再举一个列子98×98,就求8^98
8×8=64 4
4×8=32 2
2×8=16 6
6×8=48 8
8×8=64 4
出现循环,4次一循环
98×98....×98中有97个乘号,97%4=1,取第1个数,所以结果为4

以下就是我自己编写的程序,程序中有详细的说明,你根据我举例好好想一下,如果再不懂,继续问

#include<stdio.h>
int main()
{
int n;//输入的正整数
long aresult;//每次相乘得到的个位数
printf("please input a positive integer:");
scanf("%d",&n);
int m=n%10;//取出正整数n的个位数,比如123,m就是3,274,m就是4
int a[10];//用于存储aresult的数组,记录aresult的不重复的值
int aflag=0;//数组a的标志,也用来记录a数组的元素个数
int i,j;//用于循环
int forflag=0;//用途是如果aresult值与a数组中的值重复,那么退出所有循环,详细用途请阅读所有程序
for(i=0;i<n;++i)//外循环,每次用于记录aresult的值
{
if(i==0)//第一次执行循环时,把第一次m×m的值的个位数保存在数组a中,然后跳出第一次循环
{
aresult=m*m%10;
a[aflag++]=aresult;
continue;
}
aresult=m*aresult%10;//记录m×aresult的值的个位数并保存在aresult中
for(j=0;j<10;j++)//内循环,检测数组aresult值是否与数组a中的值相等,如果相等,那么代表出现循环
{
if(aresult==a[j])
{
forflag=1;//设置标记,用于检测到出现循环后退出所有循环
break;
}
if(j==9)//如果没有相同元素,那么添加aresult到数组a中,aresult是每次相乘得到的个位数
a[aflag++]=aresult;
}//end j for
if(forflag)//如果符合条件,退出外循环
break;
}//end i for
if((n-1)%aflag==0)//如果n-1是aflag的倍数的话,那么结果就是a保存的最后一个数,也就是说,乘号的总数是循环的倍数
printf("%d\n",a[aflag-1]);
else//否则结果就是数组a中n-1对aflag求余的余数再减去1的位置,因为aflag记录的是数组a中元素的个数
printf("%d\n",a[(n-1)%aflag-1]);
return 0;
}

经过我仔细推敲后的认为更好的程序
#include<stdio.h>
int main()
{
int n;
long aresult;
printf("please input a positive integer:");
scanf("%d",&n);
int m=n%10;
int a[10];
int aflag=0;
int i;
for(i=0;i<n;++i)
{
if(i==0)
{
aresult=m*m%10;
a[aflag++]=aresult;
continue;
}
aresult=m*aresult%10;
if(aresult==a[0])
break;
a[aflag++]=aresult;
}//end i for
if((n-1)%aflag==0)
printf("%d\n",a[aflag-1]);
else
printf("%d\n",a[(n-1)%aflag-1]);
return 0;
}

❹ 求一个简单的C语言程序!

#include"stdio.h"

typedefstruct

{

/*姓名,学号,班级,科目ABCD*/

charname[10];

charnum[10];

charClass[100];

floatA;

floatB;

floatC;

floatD;

floatallScore;

}student;

/*计算一个学生的总成绩*/

doublecountAllScore(studentstu)

{

returnstu.A+stu.B+stu.C+stu.D;

}

/*找到总分最高的学生*/

intfindBestStudent(studentstu[])

{

inti=0,index;

floatmax=stu[0].allScore;

index=0;

for(i=1;i<5;i++)

{

if(max<stu[i].allScore)

{

max=stu[i].allScore;

index=i;

}

}

returnindex;

}

intmain()

{

studentmystu[5];

inti,j;

printf("请输入五个学生的信息: ");

for(i=0;i<5;i++)

{

printf("输入第%d个学生的姓名: ",i+1);

scanf("%s",mystu[i].name);

printf("输入第%d个学生的学号: ",i+1);

scanf("%s",mystu[i].num);

printf("输入第%d个学生的班级: ",i+1);

scanf("%s",mystu[i].Class);

printf("输入第%d个学生科目A的成绩: ",i+1);

scanf("%f",&mystu[i].A);

printf("输入第%d个学生科目B的成绩: ",i+1);

scanf("%f",&mystu[i].B);

printf("输入第%d个学生科目C的成绩: ",i+1);

scanf("%f",&mystu[i].C);

printf("输入第%d个学生科目D的成绩: ",i+1);

scanf("%f",&mystu[i].D);

mystu[i].allScore=countAllScore(mystu[i]);

}

j=findBestStudent(mystu);

printf("总分最高的学生信息如下: ");

printf("姓名:%s ",mystu[j].name);

printf("学号:%s ",mystu[j].num);

printf("班级:%s ",mystu[j].Class);

printf("科目A的成绩:%f ",mystu[j].A);

printf("科目B的成绩:%f ",mystu[j].B);

printf("科目C的成绩:%f ",mystu[j].C);

printf("科目D的成绩:%f ",mystu[j].D);

printf("总的成绩:%f ",mystu[j].allScore);

return0;

}

有什么问题可以问我

❺ 解释一个简单的C语言程序

union 是共用体的标识符。
1.它所占的长度等于其中最大的单位的长度。你这个union的大小是 int 的大小
2. 各个数据成员同占一个储存空间,所以一个时间就只有一个数据成员是有意义的。

你把 u1.c='A';就是把这段空间写入了字符A。
然后printf();就是把这段空间按照字符的方式输出。。。。(在这个时候正int 的 n是没有意义的)

打印出来的是A

❻ 跪求一个简单的c语言程序

一共118行,是求闭包用的。
#include<stdio.h>
#define M 3
#define N 3
#define S 4
#define T 4
xunhuan();
zifanbibao()
{int i,j;
int x[M][M];
printf("请输入关系矩阵:\n");
for(i=0;i<M;i++)
for(j=0;j<M;j++)
scanf("%d",&x[i][j]);
for(i=0;i<M;i++)
x[i][i]=1;
printf("关系矩阵的自反闭包是:\n");
for(i=0;i<M;i++)
{for(j=0;j<M;j++)
printf("%d",x[i][j]);
printf("\n");}
xunhuan();
return;}
ichenbibao()
{int i,j;
int x[N][N];
printf("请输入关系矩阵:\n");
for(i=0;i<N;i++)
for(j=0;j<N;j++)
scanf("%d",&x[i][j]);
for(i=0;i<N;i++)
for(j=0;j<N;j++)
{if(x[i][j]!=1)
continue;
x[j][i]=x[i][j];}
printf("关系矩阵的对称闭包是:\n");
for(i=0;i<N;i++)
{for(j=0;j<N;j++)
printf("%d",x[i][j]);
printf("\n");}
xunhuan();
return;}

chuandibibaoR()
{int i,j,k,l,a=0;
int x[S][S],A[S][S],B[S][S],C[S][S]={0},D[S][S];
printf("请输入关系矩阵:\n");
for(i=0;i<S;i++)
for(j=0;j<S;j++)
scanf("%d",&x[i][j]);
for(i=0;i<S;i++)
for(j=0;j<S;j++)
{A[i][j]=x[i][j];
D[i][j]=x[i][j];
B[i][j]=x[i][j];}
for(l=0;l<S-1;l++)
{{for(i=0;i<S;i++)
for(j=0;j<S;j++)
for(k=0;k<S;k++)
C[i][j]+=D[i][k]*A[k][j];}
for(i=0;i<S;i++)
for(j=0;j<S;j++)
{B[i][j]+=C[i][j];
D[i][j]=C[i][j];
C[i][j]=0;}}
for(i=0;i<S;i++)
{for(j=0;j<S;j++)
if(B[i][j]!=0)
B[i][j]=1;
else continue;}
printf("关系矩阵的传递闭包为:\n");
for(i=0;i<S;i++)
{for(j=0;j<S;j++)
printf("%d",B[i][j]);
printf("\n");}
xunhuan();
return;}
chuandibibaoWarshall()
{int i,j,k;
int x[T][T],A[T][T];
printf("请输入关系矩阵:\n");
for(i=0;i<T;i++)
for(j=0;j<T;j++)
scanf("%d",&x[i][j]);
for(i=0;i<T;i++)
for(j=0;j<T;j++)
A[i][j]=x[i][j];
for(i=0;i<T;i++)
for(j=0;j<T;j++)
if(A[j][i] == 1)
for(k=0;k<T;k++)
A[j][k] = A[j][k] || A[i][k];
printf("关系矩阵的传递闭包是:\n");
for(i=0;i<T;i++)
{for(j=0;j<T;j++)
printf("%d",A[i][j]);
printf("\n");}
xunhuan();
return;}
tuichu()
{printf("欢迎再次使用!\n");
return;}
xunhuan()
{int choice;
printf("求自反闭包请输入1,求对称闭包请输入2,求传递闭包R+请输入3,求递闭包请输入4,退出请输入5\n");
scanf("%d",&choice);
if(choice==1)
zifanbibao();
else if(choice==2)
ichenbibao();
else if(choice==3)
chuandibibaoR();
else if(choice==4)
chuandibibaoWarshall();
else tuichu();}
void main(void)
{printf("实验二 关系闭包计算\n");
xunhuan();}

❼ 最简单的C语言程序是什么

在屏幕上输出 “This is a C program。”

#include//这是编译预处理指令

int main() //定义主函数

{ //函数开始的标志

printf ("This is a C program。 ");//输出所指定的一行信息

return 0; //函数执行完毕之后返回函数值0

} //函数结束的标志。

❽ 求最简单的C语言程序

#include<stdio.h>

main()

{

int a,b,t=0;

scanf("%d %d",&a,&b);

if (a<b)

{

t=a;

a=b;

b=t;

}

printf("%d %d %d %d %d",(a+b),(a-b),(a/b),(a*b),(a%b));

}

❾ C语言最简单程序

简单易操作的程序如下:

  1. 输入几月几日,计算是2018年的第几天。

  2. #include<stdio.h>

  3. intmain(intargc,char*argv[]){

  4. intmonth,day,days=0;

  5. printf("输入月");

  6. scanf("%d",&month);

  7. printf("输入日");

  8. scanf("%d",&day);

  9. switch(month-1){

  10. case11:days+=30;

  11. case10:days+=31;

  12. case9:days+=30;

  13. case8:days+=31;

  14. case7:days+=31;

  15. case6:days+=30;

  16. case5:days+=31;

  17. case4:days+=30;

  18. case3:days+=31;

  19. case2:days+=29;

  20. case1:days+=31;

  21. default:days+=day;break;

  22. }

  23. printf("这一天是2018年的第%d天 ",days);

  24. return0;

  25. C的数据类型包括:整型、字符型、实型或浮点型(单精度和双精度)、枚举类型、数组类型、结构体类型、共用体类型、指针类型和空类型。

拓展资料:

C语言的运算非常灵活,功能十分丰富,运算种类远多于其它程序设计语言。在表达式方面较其它程序语言更为简洁,如自加、自减、逗号运算和三目运算使表达式更为简单,但初学者往往会觉的这种表达式难读,关键原因就是对运算符和运算顺序理解不透不全。

当多种不同运算组成一个运算表达式,即一个运算式中出现多种运算符时,运算的优先顺序和结合规则显得十分重要。在学习中,对此合理进行分类,找出它们与数学中所学到运算之间的不同点之后,记住这些运算也就不困难了,有些运算符在理解后更会牢记心中,将来用起来得心应手,而有些可暂时放弃不记,等用到时再记不迟。