❶ 新手问题,一个非常简单的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语言最简单程序
简单易操作的程序如下:
输入几月几日,计算是2018年的第几天。
#include<stdio.h>
intmain(intargc,char*argv[]){
intmonth,day,days=0;
printf("输入月");
scanf("%d",&month);
printf("输入日");
scanf("%d",&day);
switch(month-1){
case11:days+=30;
case10:days+=31;
case9:days+=30;
case8:days+=31;
case7:days+=31;
case6:days+=30;
case5:days+=31;
case4:days+=30;
case3:days+=31;
case2:days+=29;
case1:days+=31;
default:days+=day;break;
}
printf("这一天是2018年的第%d天 ",days);
return0;
C的数据类型包括:整型、字符型、实型或浮点型(单精度和双精度)、枚举类型、数组类型、结构体类型、共用体类型、指针类型和空类型。
拓展资料:
C语言的运算非常灵活,功能十分丰富,运算种类远多于其它程序设计语言。在表达式方面较其它程序语言更为简洁,如自加、自减、逗号运算和三目运算使表达式更为简单,但初学者往往会觉的这种表达式难读,关键原因就是对运算符和运算顺序理解不透不全。
当多种不同运算组成一个运算表达式,即一个运算式中出现多种运算符时,运算的优先顺序和结合规则显得十分重要。在学习中,对此合理进行分类,找出它们与数学中所学到运算之间的不同点之后,记住这些运算也就不困难了,有些运算符在理解后更会牢记心中,将来用起来得心应手,而有些可暂时放弃不记,等用到时再记不迟。