濟南大學c語言實驗答案
① 《C語言程序設計實驗指導(第二版)》答案 馬曉艷,許婷婷.馬華主編
網路上面搜素《C語言程序設計實驗指導(第二版)》答案 馬曉艷,許婷婷.馬華主編就有答案
② C語言程序設計實驗指導書 答案 魏海新
1、求1+2+3+……….+100。(循環) 答案 #include<stdio.h> void main() { int i,sum=0; for(i=1;i<=100;i++) sum=sum+i; printf("%d",sum); } 2、 求1*2*3*……….*10。(循環) 答案 void main() { int i=0,j=1; for (i=2;i<=10;i++) { j*=i; } printf("%d",j); return 0; } 3、 輸入三個數字,輸出他們的最大值。(if) 答案 #include<stdio.h> void main() {int a,b,c,d; scanf("%d,%d,%d",&a,&b,&c); d=max(a,b,c); printf("max=%d",d); getch();/*暫停看運行結果*/ } int max(int x,int y,int z) {int u; if(x>=y&&x>=z) u=x; else if(y>=x&&y>=z) u=y; else u=z; return(u); 4.用起泡法對十個數據排序(數組實現) 答案 #include<stdio.h> main ( ) { int i,j,t; static int a[10]={5,7,4,2,3,6,1,0,9,8}; for(j=0;j<9;j++) { for(i=0;i<9-j;i++) { if(a[i]>a[i+1]) { t=a[i];a[i]=a[i+1];a[i+1]=t ; } } } for(i=0;i<10;i++) printf("%2d",a[i]); } 5、輸入十個數字,逆序輸出。(數組實現) 答案 #include<stdio.h> main() {int a[10],i=0; for(i=0;i<=9;i++) scanf("%f",&a[i]); printf("\n"); for(i=9;i>=0;i--) printf("%f",a[i]); } 6輸入兩個數,交換他們的值並輸出。(元素交換) 答案 #include<stdio.h> int main () { int m,n,temp; scanf("%d%d",&m,&n); if (m<n) { temp=m; m=n; n=temp; } printf("%d",m); return 0; } 7.輸出9*9乘法表。(雙層循環) 答案 #include <stdio.h> void main() { int i=1; for(i; i<=9; i++) { int j=1; for(j;j<=i;j++) { printf("%d*%d=%d ", i, j, i*j); } printf("\n"); } } 8.輸入一行字元,將所有的小寫字母轉換成大寫字母,大寫字母轉換成小寫字母,其餘字元不變。輸出轉變後的這行字元。 答案 #include "stdio.h" void main() { char a[n]; int i; scanf("%s",a); printf("大寫為:"); for(i=0;i<=n;i++) { if(a[i]<='z'&&a[i]>='a') a[i]=a[i]-32; printf("%c",a[i]); } printf("\n小寫為:"); for(i=0;i<=3;i++) { a[i]=a[i]+32; printf("%c",a[i]); } } 9、 編寫一個簡單計算器程序,要求能夠完成兩個數的+,-,*,/四種運算。輸出運算式及運算結果。(switch) 6.2 #include"stdio.h" main() {char c;int i=0,j=0,k=0,l=0; while((c=getchar())!=』\n』) {if(c>=65&&c<=90||c>=97&&c<=122) i++; else if(c>=48&&c<=57) j++; else if(c==32) k++; else l++;} printf("i=%d,j=%d,k=%d,l=%d\n",i,j,k,l); } 6.6 #include"math.h" main() {int x=100,a,b,c; while(x>=100&&x<1000) {a=0.01*x;b=10*(0.01*x-a);c=x-100*a-10*b; if(x==(pow(a,3)+pow(b,3)+pow(c,3))) printf("%5d",x);x++;} } 6.7 main() {int m,i,j,s; for(m=6;m<10000;m++) {s=1; for(i=2;i<m;i++) if(m%i==0) s=s+i; if(m-s==0) {printf("%5d its fastors are 1 ",m);for(j=2;j<m;j++) if(m%j==0) printf("%d ",j);printf("\n");} } } 或 main() {int m,i,j,s; for(m=6;m<1000;m++) {s=m-1; for(i=2;i<m;i++) if(m%i==0) s=s-i; if(s==0) {printf("%5d its fastors are 1 ",m);for(j=2;j<m;j++) if(m%j==0) printf("%d ",j);printf("\n");} } } 6.8 main() {int i=1,n;double t,x=1,y=2,s,sum=0; scanf("%ld",&n); while(i<=n) {s=y/x;sum=sum+s;t=y;y=y+x;x=t;i++;} printf("%f\n",sum); } 11,P128 例6.10(解碼) #include<stdio.h> void main() { char c; while((c=getchar())!='\n') { c=c+4; if(c>'Z'+4||c>'z') c=c-26; } printf("%c",c); } printf("\n"); } 12,P111 5.5 5.6(switch) 5.5 #include <stdio.h> main() {int x,y; printf("輸入x:"); scanf("%d",&x); if(x<1) { y=x; printf("x=%3d, y=x=%d\n",x,y); } else if (x<10) { y=2*x-1; printf("x=%3d, y=2*x-1=%d\n",x,y); } else { y=3*x-11; printf("x=%3d, y=3*x-11=%d\n",x,y); } } 5.6 #include <stdio.h> main() { float score; char grade; case 2: printf("請輸入學生成績:"); scanf("%f",&score); while(score>100||(score<0) { printf("\n輸入有誤,請重新輸入:"); scanf("%f",&score); } switch((int)(score/10)) { case 10: case 9: grade=』A』;break; case 8: grade=』B』;break; case 7: grade=』C』;break; case 6: grade=』D』;break; case 5: case 4: case 3: case 1: case 0: grade=』E』; } printf("成績是%5.1f,相應的等級是%c。\n",score,grade); } 13,P108 例5.5(一元二次方程求根) 例5.6(求閏年) 5.5 #include<stdio.h> void main() { int year,leap; scanf("%d",&year); if(year%4==0) { if(year%100==0) { if(year%400==0) leap=1; else leap=0; } else leap=1; } else leap=0; if(leap) printf("%d is",year); else printf("%d is not",year); printf("a leap year.\n") } 5.6 14,P31 例2.17 例2.18 2.17 輸出50個學生中成績高於80分者的學號和成績 2.18 輸出2000——2500年每一年是否閏年 #include<stdio.h> void main() { int year; year=2000; go: if(((year%4 == 0)&&(year%100 != 0)) || (year%400 == 0)) printf("%d is run nian",year); if(year<=2500) year=year++; if(year>2500) goto end; goto go; end: getch(); } 希望對你有所幫助
③ 求山東理工大學C語言實驗答案(在線等、求速度)
實驗一 簡單C程序的調試
一、實驗目的
熟悉在VC的運行環境下,編輯調試C語言程序的一般步驟。掌握編寫與調試簡單C語言程序的基本方法。
二、實驗要求
1. 仔細閱讀下列實驗內容,並編寫出相應的C語言源程序。
2. 在VC運行環境下,編輯錄入源程序。
3. 調試運行源程序,並記錄下調試運行過程中出現的所有錯誤及改正方法。
4. 掌握如何根據出錯信息查找語法錯誤。
5. 寫出本次實驗的實驗報告。
三、實驗內容
1.從鍵盤輸入一個以秒為單位的時間值(如10000秒),將其轉化為以時、分、秒錶示的時間值並輸出。
#include <stdio.h>
void main()
{int time,h,min,sec;
printf("請輸入時間,以秒為單位\n");
scanf("%d",&time);
h=time/3600;
min=(time%3600)/60;
sec=(time%3600)%60;
printf(" 時間轉換為:%d h %d min %d s\n",h,min,sec);
}
2.已知如下二元一次方程組的系數值,求該方程組的解。
a1x+b1y=c1
a2x+b2y=c2
#include <stdio.h>
void main()
{float a1,b1,c1,a2,b2,c2,m,n,p;
printf(" 請輸入二元一次方程組的各項參數:");
scanf("%f %f %f %f %f %f",&a1,&b1,&c1,&a2,&b2,&c2);
p=a1*b2-a2*b1;
if(p!=0)
m=(b2*c1-b1*c2)/(a1*b2-a2*b1);
n=(a1*c2-a2*c1)/(a1*b2-a2*b1);
printf("%fx+%fy=%f\n%fx+%fy=%f\n",a1,b1,c1,a2,b2,c2);
printf("解為:\n x=%f\n y=%f\n",m,n);
}
實驗二 順序結構程序設計
一、實驗目的
掌握順序程序設計的基本思想和順序程序設計的基本方法
二、實驗要求
1. 仔細閱讀下列實驗內容,並編寫出相應的C語言源程序。
2. 在VC運行環境下,編輯錄入源程序。
3. 調試運行源程序,並記錄下調試運行過程中出現的所有錯誤及改正方法。
4. 掌握如何根據出錯信息查找語法錯誤。
5. 掌握如何通過動態跟蹤程序運行過程查找邏輯錯誤。
6. 寫出本次實驗的實驗報告。
三、實驗內容
1.編程序實現:輸入一個年份y,求出從公元1年1月1日到y年的1月1日,總共有多少天(提示:400年97閏)。
#include <stdio.h>
void main()
{
int year,days;
printf("please enter a year:");
scanf("%d",&year);
days=365*(year-1)+97*((year-1)/400)+24*(((year-1)%400)/100)+(((year-1)%400)%100)/4+1;
printf("公元1年1月1日到公元%d年1月1日有%d天。\n",year,days);
}
實驗三 選擇結構程序設計
一、 實驗目的
掌握選擇結構程序設計的一般方法及選擇結構程序的調試方法。
二、實驗要求
1. 仔細閱讀下列實驗內容,並編寫出相應的C語言源程序。
2. 在VC運行環境下,編輯錄入源程序。
3. 調試運行源程序,並記錄下調試運行過程中出現的所有錯誤及改正方法。
4. 掌握如何根據出錯信息查找語法錯誤。
5. 掌握如何通過動態跟蹤程序運行過程查找邏輯錯誤。
6. 寫出本次實驗的實驗報告。
三、實驗內容
1.編程序實現:輸入一個年份和月份,求出這個月的天數並輸出。
#include <stdio.h>
void main()
{
int year,month,n;
printf("please enter a date like 2010/4\n");
scanf("%d/%d",&year,&month);
switch (month)
{
case 1: n=31;break;
case 2: n=28;break;
case 3: n=31;break;
case 4: n=30;break;
case 5: n=31;break;
case 6: n=30;break;
case 7: n=31;break;
case 8: n=31;break;
case 9: n=30;break;
case 10: n=31;break;
case 11: n=30;break;
case 12: n=31;break;
default:break;
}
if(year%4==0&&year%100!=0||year%400==0&&month==2)
n=29;
printf("%d年%d月有%d天。、\n",year,month,n);
}
2.編程序實現:輸入一個年份y,求出y年的1月1日是星期幾(提示:公元1年1月1日是星期一)。
#include <stdio.h>
void main()
{
int m,n=0,year,i;
printf("please enter a year");
scanf("%d",&year);
n=365*(year-1)+97*((year-1)/400)+24*(((year-1)%400)/100)+(((year-1)%400)%100)/4+1;
printf("%d年1月1日是",year);
m=n%7;
switch (m)
{
case 0: printf("星期天\n");
case 1:printf("星期一\n");break;
case 2:printf("星期二\n");break;
case 3:printf("星期三\n");break;
case 4:printf("星期四\n");break;
case 5:printf("星期五\n");break;
case 6:printf("星期六\n");break;
default:break;
}
}
3.(拓展題,選做)編程序實現:輸入任意一個日期的年、月、日的值,求出是星期幾並輸出。
#include <stdio.h>
void main()
{
int year,month, day,n,i;
printf("please enter a date like 2010/4/16\n");
scanf("%d/%d/%d",&year,&month,&day);
n=365*(year-1)+97*((year-1)/400)+24*(((year-1)%400)/100)+(((year-1)%400)%100)/4;
switch (month)
{
case 1: n+=day;break;
case 2: n+=day+31;break;
case 3: n+=day+59;break;
case 4: n+=day+90;break;
case 5: n+=day+120;break;
case 6: n+=day+151;break;
case 7: n+=day+181;break;
case 8: n+=day+212;break;
case 9: n+=day+243;break;
case 10: n+=day+274;break;
case 11: n+=day+304;break;
case 12: n+=day+344;break;
default:break;
}
if(year%4==0&&year%100!=0||year%400==0&&month>2)
n+=1;
n=n%7;
switch (n)
{
case 0: printf("星期天\n");
case 1:printf("星期一\n");break;
case 2:printf("星期二\n");break;
case 3:printf("星期三\n");break;
case 4:printf("星期四\n");break;
case 5:printf("星期五\n");break;
case 6:printf("星期六\n");break;
default:break;
}
}
實驗四 循環程序綜合應用
一、實驗目的:
掌握循環結構程序設計的一般方法及循環結構程序的調試方法,能夠綜合運用順序、選擇和循環結構解決一般難度的實際應用問題。
二、實驗要求:
1.仔細閱讀下列實驗內容,並編寫出相應的C語言源程序。
2.在VC運行環境下,編輯錄入源程序。
3.調試運行源程序,並記錄下調試運行過程中出現的所有錯誤及改正方法。
4.掌握如何根據出錯信息查找語法錯誤。
5.掌握如何通過動態跟蹤程序運行過程查找邏輯錯誤。
6.寫出本次實驗的實驗報告。
三、實驗內容:
1.編程序實現如下功能:輸入任意一個年份的值,按以下格式輸出該年份一月份的公歷日歷。
要求用循環控制列印。
2011年日歷
1月
日 一 二 三 四 五 六
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
#include <stdio.h>
void main()
{
int year,days,i,m,k=0,j;
printf("please enter a year:");
scanf("%d",&year);
days=365*(year-1)+97*((year-1)/400)+24*(((year-1)%400)/100)+(((year-1)%400)%
100)/4+1;
m=days%7;
printf("%d年日歷\n一月\n",year);
printf(" 日 一 二 三 四 五 六\n");
for(i=1;i<=m;i++)
{
k++;
printf(" ");}
k=m;
for(j=1;j<=31;j++)
{
k++;
printf("%3d",j);
if(k%7==0)
printf("\n");}
printf("\n");
}
2.(拓展題,選做)編程序實現如下功能:輸入任意一個年份的值,輸出該年份全年的公歷日歷。#include <stdio.h>
void main()
{
int year,days,i,m,n,k=0,j,day,month;
printf("please enter a year:");
scanf("%d",&year);
printf("%d年日歷\n",year);
days=365*(year-1)+97*((year-1)/400)+24*(((year-1)%400)/100)+(((year-1)%400)%100)/4+1;
for(month=1;month<=12;month++)
{
switch (month)
{
case 1: day=31;break;
case 2: day=28;break;
case 3: day=31;break;
case 4: day=30;break;
case 5: day=31;break;
case 6: day=30;break;
case 7: day=31;break;
case 8: day=31;break;
case 9: day=30;break;
case 10: day=31;break;
case 11: day=30;break;
case 12: day=31;break;
default:break;
}
if(year%4==0&&year%100!=0||year%400==0&&month==2)
n=29;
switch (month)
{
case 1: days+=0;break;
case 2: days+=31;break;
case 3: days+=59;break;
case 4: days+=90;break;
case 5: days+=120;break;
case 6: days+=151;break;
case 7: days+=181;break;
case 8: days+=212;break;
case 9: days+=243;break;
case 10: days+=274;break;
case 11: days+=304;break;
case 12: days+=334;break;
default:break;
}
if(year%4==0&&year%100!=0||year%400==0&&month>2)
days+=1;
m=days%7;
printf("%d月\n",month),
printf(" 日 一 二 三 四 五 六\n");
for(i=1;i<=m;i++){k++;
printf(" ");}
k=m;
for(j=1;j<=day;j++)
{
k++;
printf("%3d",j);
if(k%7==0)
printf("\n");}
printf("\n");
}
}
都是同學啊!
最後兩題米看到答案,我的方法不大對,就不給你了。
④ 急求===《C語言程序設計實驗·設計·習題》的答案
這是譚浩強版習題題答案,看與你的是否一致
1.5請參照本章例題,編寫一個C程序,輸出以下信息:
************
Very Goodj!
************
解:
main()
{
printf(" ************ \n");
printf("\n");
printf(" Very Good! \n");
printf("\n");
printf(" ************\n");
}
1.6編寫一個程序,輸入a b c三個值,輸出其中最大者。
解:main()
{int a,b,c,max;
printf("請輸入三個數a,b,c:\n");
scanf("%d,%d,%d",&a,&b,&c);
max=a;
if(max<B)
max=b;
if(max<C)
max=c;
printf("最大數為:%d",max);
}
第三章
3.3 請將下面各數用八進制數和十六進制數表示:
(1)10 (2)32 (3)75 (4)-617
(5)-111 (6)2483 (7)-28654 (8)21003
解:十 八 十六
(10)=(12)=(a)
(32)=(40)=20
(75)=(113)=4b
(-617)=(176627)=fd97
-111=177621=ff91
2483=4663=963
-28654=110022=9012
21003=51013=520b
3.5字元常量與字元串常量有什麼區別?
解:字元常量是一個字元,用單引號括起來。字元串常量是由0個或若干個字元
而成,用雙引號把它們括起來,存儲時自動在字元串最後加一個結束符號'\0'.
3.6寫出以下程序的運行結果:
#include
void main()
{
char c1='a',c2='b',c3='c',c4='\101',c5='\116';
printf("a%c b%c\tc%c\tabc\n",c1,c2,c3);
printf("\t\b%c %c\n",c4,c5);
解:程序的運行結果為:
aabb cc abc
A N
3.7將"China"譯成密碼.密碼規律:用原來的字母後面第4個字母代替原來的字母,
例如,字母"A"後面第4個字母是"E",用"E"代替"A".因此,"China"應譯為"Glmre".
請編一程序,用賦初值的議程使c1,c2,c3,c4,c5分別變成'G','1','m','r','e',並
輸出.
main()
{char c1="C",c2="h",c3="i",c4='n',c5='a';
c1+=4;
c2+=4;
c3+=4;
c4+=4;
c5+=4;
printf("密碼是%c%c%c%c%c\n",c1,c2,c3,c4,c5);
}
3.8例3.6能否改成如下:
#include
void main()
{
int c1,c2;(原為 char c1,c2)
c1=97;
c2=98;
printf("%c%c\n",c1,c2);
printf("%d%d\n",c1,c2);
}
解:可以.因為在可輸出的字元范圍內,用整型和字元型作用相同.
3.9求下面算術表達式的值.
(1)x+a%3*(int)(x+y)%2/4=2.5(x=2.5,a=7,y=4.7)
(2)(float)(a+b)/2+(int)x%(int)y=3.5(設a=2,b=3,x=3.5,y=2.5)
3.10寫出下面程序的運行結果:
#include
void main()
{
int i,j,m,n;
i=8;
j=10;
m=++i;
n=j++;
printf("%d,%d,%d,%d\n",i,j,m,n);
}
解:結果: 9,11,9,10
第4章
4.4.a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1='a',c2='b'.想得
到以下的輸出格式和結果,請寫出程序要求輸出的結果如下:
a= 3 b= 4 c= 5
x=1.200000,y=2.400000,z=-3.600000
x+y= 3.60 y+z=-1.20 z+x=-2.40
u= 51274 n= 128765
c1='a' or 97(ASCII)
c2='B' or 98(ASCII)
解:
main()
{
int a,b,c;
long int u,n;
float x,y,z;
char c1,c2;
a=3;b=4;c=5;
x=1.2;y=2.4;z=-3.6;
u=51274;n=128765;
c1='a';c2='b';
printf("\n");
printf("a=%2d b=%2d c=%2d\n",a,b,c);
printf("x=%8.6f,y=%8.6f,z=%9.6f\n",x,y,z);
printf("x+y=%5.2f y=z=%5.2f z+x=%5.2f\n",x+y,y+z,z+x);
printf("u=%6ld n=%9ld\n",u,n);
printf("c1='%c' or %d(ASCII)\n",c1,c2);
printf("c2='%c' or %d(ASCII)\n",c2,c2);
}
4.5請寫出下面程序的輸出結果.
結果:
57
5 7
67.856400,-789.123962
67.856400 ,-789.123962
67.86,-789.12,67.856400,-789.123962,67.856400,-789.123962
6.785640e+001,-7.89e+002
A,65,101,41
1234567,4553207,d687
65535,17777,ffff,-1
COMPUTER, COM
4.6用下面的scanf函數輸入數據,使a=3,b=7,x=8.5,y=71.82,c1='A',c2='a',
問在鍵盤上如何輸入?
main()
{
int a,b;
float x,y;
char c1,c2;
scanf("a=%d b=%d,&a,&b);
scanf(" x=%f y=%e",&x,&y);
scanf(" c1=%c c2=%c",&c1,&c2);
}
解:可按如下方式在鍵盤上輸入:
a=3 b=7
x=8.5 y=71.82
c1=A c2=a
說明:在邊疆使用一個或多個scnaf函數時,第一個輸入行末尾輸入的"回車"被第二
個scanf函數吸收,因此在第二\三個scanf函數的雙引號後設一個空格以抵消上行
入的"回車".如果沒有這個空格,按上面輸入數據會出錯,讀者目前對此只留有一
初步概念即可,以後再進一步深入理解.
4.7用下面的scanf函數輸入數據使a=10,b=20,c1='A',c2='a',x=1.5,y=-
3.75,z=57.8,請問
在鍵盤上如何輸入數據?
scanf("%5d%5d%c%c%f%f%*f %f",&a,&b,&c1,&c2,&y,&z);
解:
main()
{
int a,b;
float x,y,z;
char c1,c2;
scanf("%5d%5d%c%c%f%f",&a,&b,&c1,&c2,&x,&y,&z);
}
運行時輸入:
10 20Aa1.5 -3.75 +1.5,67.8
註解:按%5d格式的要求輸入a與b時,要先鍵入三個空格,而後再打入10與20。%*f
是用來禁止賦值的。在輸入時,對應於%*f的地方,隨意打入了一個數1.5,該值不
會賦給任何變數。
4.8設圓半徑r=1.5,圓柱高h=3,求圓周長,圓面積,圓球表面積,圓球體積,圓柱體積,
用scanf輸入數據,輸出計算結果,輸出時要求有文字說明,取小數點後兩位數字.請編
程.
解:main()
{
float pi,h,r,l,s,sq,vq,vz;
pi=3.1415926;
printf("請輸入圓半徑r圓柱高h:\n");
scanf("%f,%f",&r,&h);
l=2*pi*r;
s=r*r*pi;
sq=4*pi*r*r;
vq=4.0/3.0*pi*r*r*r;
vz=pi*r*r*h;
printf("圓周長為: =%6.2f\n",l);
printf("圓面積為: =%6.2f\n",s);
printf("圓球表面積為: =%6.2f\n",sq);
printf("圓球體積為: =%6.2f\n",vz);
}
4.9輸入一個華氏溫度,要求輸出攝氏溫度,公式為C=5/9(F-32),輸出要有文字說明,
取兩位小數.
解: main()
{
float c,f;
printf("請輸入一個華氏溫度:\n");
scanf("%f",&f);
c=(5.0/9.0)*(f-32);
printf("攝氏溫度為:%5.2f\n",c);
}
第五章 邏輯運算和判斷選取結構
5.4有三個整數a,b,c,由鍵盤輸入,輸出其中最大的數.
main()
{
int a,b,c;
printf("請輸入三個數:");
scanf("%d,%d,%d",&a,&b,&c);
if(a<B)
if(b<C)
printf("max=%d\n",c);
else
printf("max=%d\n",b);
else if(a<C)
printf("max=%d\n",c);
else
printf("max-%d\n",a);
}
方法2:使用條件表達式.
main()
{int a,b,c,termp,max;
printf(" 請輸入 A,B,C: ");
scanf("%d,%d,%d",&a,&b,&c);
printf("A=%d,B=%d,C=%d\n",a,b,c);
temp=(a>b)?a:b;
max=(temp>c)? temp:c;
printf(" A,B,C中最大數是%d,",max);
}
5.5 main()
{int x,y;
printf("輸入x:");
scanf("%d",&x);
if(x<1)
{y=x;
printf("X-%d,Y=X=%d \n",x,y);
}
else if(x<10)
{y=2*x-1;
printf(" X=%d, Y=2*X-1=%d\n",x,y);
}
else
{y=3*x-11;
printf("X=5d, Y=3*x-11=%d \n",x,y);
}
}
(習題5-6:)自己寫的已經運行成功!不同的人有不同的演算法,這些答案僅供參考! 818pp.com
# include
void main()
{
float s,i;
char a;
scanf("%f",&s);
while(s>100||s<0)
{
printf("輸入錯誤!error!");
scanf("%f",&s);
}
i=s/10;
switch((int)i)
{
case 10:
case 9: a='A';break;
case 8: a='B';break;
case 7: a='C';break;
case 6: a='D';break;
case 5:
case 4:
case 2:
case 1:
case 0: a='E';
}
printf("%c",a);
}
http://818pp.com/
5.7給一個不多於5位的正整數,要求:1.求它是幾位數2.分別列印出每一位數字3.
按逆序列印出各位數字.例如原數為321,應輸出123.
main()
{
long int num;
int indiv,ten,hundred,housand,tenthousand,place;
printf("請輸入一個整數(0-99999):");
scanf("%ld",&num);
if(num>9999)
place=5;
else if(num>999)
place=4;
else if(num>99)
place=3;
else if(num>9)
place=2;
else place=1;
printf("place=%d\n",place);
printf("每位數字為:");
ten_thousand=num/10000;
thousand=(num-tenthousand*10000)/1000;
hundred=(num-tenthousand*10000-thousand*1000)/100;
ten=(num-tenthousand*10000-thousand*1000-hundred*100)/10;
indiv=num-tenthousand*10000-thousand*1000-hundred*100-ten*10;
switch(place)
{case 5:printf("%d,%d,%d,%d,%d",tenthousand,thousand,hundred,ten,indiv);
printf("\n反序數字為:");
printf("%d%d%d%d%d\n",indiv,ten,hundred,thousand,tenthousand);
break;
case 4:printf("%d,%d,%d,%d",thousand,hundred,ten,indiv);
printf("\n反序數字為:");
printf("%d%d%d%d\n",indiv,ten,hundred,thousand);
break;
case 3:printf("%d,%d,%d\n",hundred,ten,indiv);
printf("\n反序數字為:");
printf("%d%d%d\n",indiv,ten,hundred);
case 2:printf("%d,%d\n",ten,indiv);
printf("\n反序數字為:");
printf("%d%d\n",indiv,ten);
case 1:printf("%d\n",indiv);
printf("\n反序數字為:");
printf("%d\n",indiv);
}
}
5.8
1.if語句
main()
{long i;
float bonus,bon1,bon2,bon4,bon6,bon10;
bon1=100000*0.1;
bon2=bon1+100000*0.075;
bon4=bon2+200000*0.05;
bon6=bon4+200000*0.03;
bon10=bon6+400000*0.015;
scanf("%ld",&i);
if(i<=1e5)bonus=i*0.1;
else if(i<=2e5)bonus=bon1+(i-100000)*0.075;
else if(i<=4e5)bonus=bon2+(i-200000)*0.05;
else if(i<=6e5)bonus=bon4+(i-400000)*0.03;
else if(i<=1e6)bonus=bon6+(i-600000)*0.015;
else bonus=bon10+(i-1000000)*0.01;
printf("bonus=%10.2f",bonus);
}
用switch語句編程序
main()
{long i;
float bonus,bon1,bon2,bon4,bon6,bon10;
int branch;
bon1=100000*0.1;
bon2=bon1+100000*0.075;
bon4=bon2+200000*0.05;
bon6=bon4+200000*0.03;
bon10=bon6+400000*0.015;
scanf("%ld",&i);
branch=i/100000;
if(branch>10)branch=10;
switch(branch)
{case 0:bonus=i*0.1;break;
case 1:bonus=bon1+(i-100000)*0.075;break;
case 2:
case 3:bonus=bon2+(i-200000)*0.05;break;
case 4:
case 5:bonus=bon4+(i-400000)*0.03;break;
case 6:
case 7
case 8:
case 9:bonus=bon6+(i-600000)*0.015;break;
case 10:bonus=bon10+(i-1000000)*0.01;
}
printf("bonus=%10.2f",bonus);
} http://818pp.com/
5.9 輸入四個整數,按大小順序輸出.
main()
{int t,a,b,c,d;
printf("請輸入四個數:");
scanf("%d,%d,%d,%d",&a,&b,&c,&d);
printf("\n\n a=%d,b=%d,c=%d,d=%d \n",a,b,c,d);
if(a>b)
{t=a;a=b;b=t;}
if(a>c)
{t=a;a=c;c=t;}
if(a>d)
{t=a;a=d;d=t;}
if(b>c)
{t=b;b=c;c=t;}
if(b>d)
{t=b;b=d;d=t;}
if(c>d)
{t=c;c=d;d=t;}
printf("\n 排序結果如下: \n");
printf(" %d %d %d %d \n",a,b,c,d);
}
5.10塔
main()
{
int h=10;
float x,y,x0=2,y0=2,d1,d2,d3,d4;
printf("請輸入一個點(x,y):");
scanf("%f,%f",&x,&y);
d1=(x-x0)*(x-x0)+(y-y0)(y-y0);
d2=(x-x0)*(x-x0)+(y+y0)(y+y0);
d3=(x+x0)*(x+x0)+(y-y0)*(y-y0);
d4=(x+x0)*(x+x0)+(y+y0)*(y+y0);
if(d1>1 && d2>1 && d3>1 && d4>1)
h=0;
printf("該點高度為%d",h);
}
⑤ 濟南大學大一下學期c語言考試試題及答案
學弟 很遺憾剛才我專門給你收拾了下 發現貌似給以前的學妹們了。。。你去找學妹們要吧。。。 學25即將畢業的材料哥飄過。。。
⑥ 求濟南大學歷年高數 大物 C語言試題及大作業答案
⑦ 求C語言上機答案
參考代碼如下:
#include<stdio.h>
intmain(void)
{
intt,n,m,i,max[1000],min[1000],sn=0;
intflag,tmin,tmax;
scanf("%d",&n);
if(n<1|內|n>100)
return0;
while(n--){
scanf("%d",&m);
if(m<1||m>1000){
容printf("error");
continue;
}
flag=0;
for(i=0;i<m;++i){
scanf("%d",&t);
if(flag==0){tmax=tmin=t;flag=1;}
else{
tmax=t>tmax?t:tmax;
tmin=t<tmin?t:tmin;
}
}
max[sn]=tmax;
min[sn]=tmin;
sn++;
}
for(i=0;i<sn;++i)
printf("%d%d ",min[i],max[i]);
return0;
}

