❶ 新手問題,一個非常簡單的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語言的運算非常靈活,功能十分豐富,運算種類遠多於其它程序設計語言。在表達式方面較其它程序語言更為簡潔,如自加、自減、逗號運算和三目運算使表達式更為簡單,但初學者往往會覺的這種表達式難讀,關鍵原因就是對運算符和運算順序理解不透不全。
當多種不同運算組成一個運算表達式,即一個運算式中出現多種運算符時,運算的優先順序和結合規則顯得十分重要。在學習中,對此合理進行分類,找出它們與數學中所學到運算之間的不同點之後,記住這些運算也就不困難了,有些運算符在理解後更會牢記心中,將來用起來得心應手,而有些可暫時放棄不記,等用到時再記不遲。