c語言設計作業
⑴ c語言程序設計習題!!10道
1. 在C程序中,只能用於整型變數的運算符是___ 求余(%)___。
2. 在C語言中,char類型變數占 2 個位元組。
3. 若a已定義為double類型,請寫出從鍵盤給a輸入數據的語句 scanf("%lf",&a); 。
4. 為使以下程序能正確運行,請填空。
#include<stdio.h>
#include<math.h>
main()
{ double x, y;
scanf("%lf%lf",&x,&y);
printf("y=%f\n", pow(x,y));}
5. 以下程序執行後的輸出結果是 -2 。
main()
{ int m=3,n=4,x;
x=-m++;
x=x+8/++n;
printf("%d\n",x); }
6. 以下程序的輸出結果是 10 20 0 。
main()
{ int a,b,c;
a=10; b=20; c=(a%b<1)||(a/b>1);
printf("%d %d %d\n",a,b,c); }
7. 以下程序中調用fun函數,對主函數x和y中的值進行對調。請填空。
void fun( double *a, double *b)
{ double x;
x=*a; *a=*b ; *b=x ; }
main()
{ double x,y;
printf(「Enter x, y : 「); scanf(「%lf%lf」,&x,&y);
fun( x,y);
printf(「x=%f y=%f\n」,x,y );}
8. C語言規定:字元串以 '\0' 作為結束標志。
9. 以下程序的輸出結果是 3 。
long fun( int n)
{ long t;
if ( n==1 || n==2 ) t=1;
else t=fun(n-1) + fun(n-2);
return ( t );
}
main( )
{ printf(「%d\n」,fun(4) );}
10. 設有定義:
struct date
{ int year, month, day ; } d1;
請寫出利用輸入語句,為變數d1中的year成員從鍵盤輸入數值的語句 scanf ("%d",&(d1.year)); 。
⑵ C語言程序設計的作業
#include<stdio.h>
intmain()
{
intf;
floatl,s;
while(1)
{
printf("
輸入限速值及所測車速:");
scanf("%f%f",&l,&s);
if(s-l<0)
printf("未超速不處罰記%d分
",f=0);
elseif((s-l)/l<0.2)
printf("超速未到20%%記%d分
",f=3);
elseif((s-l)/l>=0.2&&(s-l)/l<0.5)
printf("超速20%%未到50%%記%d分
",f=6);
elseif((s-l)/l>=0.5)
printf("超速50%%及以上記%d分
",f=12);
printf("駕駛證剩餘分數:%d
",12-f);
}
return0;
}
#include<stdio.h>
intgeti(charc);//獲取字元對應下標
intmain()
{
intia,ib;
chara,b;
printf("猜拳游戲:'V'表示剪刀,'S'表示石頭,'P'表示布
");
while(1)
{
printf("請輸入玩家a的手勢:");
scanf("%c",&a);
getchar();
printf("請輸入玩家b的手勢:");
scanf("%c",&b);
getchar();
ia=geti(a);
ib=geti(b);
if(ia==-1||ib==-1)
{
printf("輸入不符合規則,請重新輸入!
");
continue;
}
if(ia-ib==1||ia-ib==-2)
printf("玩家a勝
");
elseif(ia-ib==-1||ia-ib==2)
printf("玩家b勝
");
else
printf("平局
");
}
return0;
}
intgeti(charc)//獲取字元對應下標
{
charg[3]={'V','S','P'};//數組元素依次克前一個元素及被後一個元素克制
inti=0;
for(i=0;i<3;i++)
if(g[i]==c)
returni;
return-1;
}
⑶ C語言程序設計作業 C語言
#include<stdio.h>
intmain(){
inti,n=1,num=0;
for(i=1;i<=10000;i++)
{
n*=i;
if(n%10==0)
{n/=10;num++;}
n%=10;
}
printf("%d",num);
return0;
}
⑷ C語言程序設計作業
#include<stdio.h>
intgeti(charc);//獲取字元對應下標
intmain()
{
intia,ib;
chara,b;
printf("猜拳游戲:'V'表示剪刀,'S'表示石頭,'P'表示布
");
while(1)
{
printf("請輸入玩家a的手勢:");
scanf("%c",&a);
getchar();
printf("請輸入玩家b的手勢:");
scanf("%c",&b);
getchar();
ia=geti(a);
ib=geti(b);
if(ia==-1||ib==-1)
{
printf("輸入不符合規則,請重新輸入!
");
continue;
}
if(ia-ib==1||ia-ib==-2)
printf("玩家a勝
");
elseif(ia-ib==-1||ia-ib==2)
printf("玩家b勝
");
else
printf("平局
");
}
return0;
}
intgeti(charc)//獲取字元對應下標
{
charg[3]={'V','S','P'};//數組元素依次克前一個元素及被後一個元素克制
inti=0;
for(i=0;i<3;i++)
if(g[i]==c)
returni;
return-1;
}
⑸ C語言程序小作業
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
const char filename[]="查詢結果.txt";
FILE *fp;
struct ticket
{
char banci[20]; //班次
char shifadi[20]; //始發地
char zhongdian[20];//終點站
int date; //日期
int rest; //剩餘票數
struct ticket *next;
}Node;
//1、創建鏈表
struct ticket *creat(int n)
{
struct ticket *head,*tail,*newnode;
int i;
head=(struct ticket *)malloc(sizeof(Node));
head->next=NULL;
tail=head;
printf("車輛班次、始發地、終點站、日期(月 日 如九月六日0906)、剩餘票數\n");
for(i=0;i<n;i++)
{
newnode=(struct ticket *)malloc(sizeof(Node));
printf("請輸入第%d次的數據:\n",i+1);
scanf("%s",newnode->banci);
scanf("%s",newnode->shifadi);
scanf("%s",newnode->zhongdian);
scanf("%d",&newnode->date);
scanf("%d",&newnode->rest);
tail->next=newnode;
tail=newnode;
}
tail->next=NULL;
return(head);
}
//4、瀏覽
void print(struct ticket *head)
{
struct ticket *p;
p=head->next;
//文件讀寫操作
fp=fopen(filename,"ab+");//打開文件
printf("班次\t始發地\t終點地\t日期\t剩餘票數 \n");
fprintf(fp,"班次\t始發地\t終點地\t日期\t剩餘票數 \n");
while(p!=NULL)
{
fprintf(fp,"%s\t%s\t%s\t%d\t%d \n",p->banci,p->shifadi,p->zhongdian,p->date,p->rest);//向文件流裡面寫文件
printf("%s\t%s\t%s\t%d\t%d \n",p->banci,p->shifadi,p->zhongdian,p->date,p->rest);
p=p->next;
}
fclose(fp);//關閉文件
}
//2、增加班次
struct ticket *insert (struct ticket *head)
{
struct ticket *newnode,*p, *q;
printf("輸入增加的車輛班次、始發地、終點站、日期(月 日 如九月六日09 06)、剩餘票數\n");
scanf("%s",Node.banci);
scanf("%s",Node.shifadi);
scanf("%s",Node.zhongdian);
scanf("%d",&Node.date);
scanf("%d",&Node.rest);
newnode=(struct ticket *)malloc(sizeof(Node));
strcpy(newnode->banci,Node.banci);
newnode->date=Node.date;
newnode->rest=Node.rest;
strcpy(newnode->shifadi,Node.shifadi);
strcpy(newnode->zhongdian,Node.zhongdian);
p=head->next;
if (p==NULL)
{
head->next=newnode;
newnode->next=NULL;
}else{
while(p!=NULL)
{
q=p;
p=p->next;
}
q->next=newnode;
newnode->next=NULL;
}
return (head);
}
//6、訂票
struct ticket *book(struct ticket *head,char b[],int n)
{
struct ticket *p;
p=head->next;
if(n==1)
{
//循環結構
while(p!=NULL&&strcmp(b,p->banci)!=0){
p=p->next;
}
if(p==NULL)
printf("你所預定的班次不存在");
if(strcmp(b,p->banci)==0)
{
if(p->rest>0)
{
p->rest=p->rest-1;
printf("訂票成功");
}
else{
printf("票已售完");
}
}
}
if(n==2)
{
while(p!=NULL&&strcmp(b,p->banci)!=0){
p=p->next;
}
if(p==NULL){
printf("你所退定的班次不存在");
}
if(strcmp(b,p->banci)==0)
{
if(p->rest>0)
{
p->rest=p->rest+1;
printf("退票成功");
}
}
}
return (head);
}
//3、刪除班次
struct ticket *del(struct ticket *head,char b[])
{
struct ticket *p,*q;
p=head->next;
while(p!=NULL&&strcmp(b,p->banci))
{
q=p;
p=p->next;
}
if (p==NULL)
{
printf("未找到你要刪除的班次!~、\n");
}else{
if((p==head->next)&&(strcmp(b,p->banci)==0))
{
if (p->next==NULL)
{
free(p);
head->next=NULL;
}else{
head->next=p->next;
free(p);
}
printf("刪除成功!~、\n");
}else if((p!=head->next)&&(strcmp(b,p->banci)==0))
{
if (p->next==NULL)
{
free(p);
q->next=NULL;
}else{
q->next=p->next;
free(p);
}
printf("刪除成功!~、\n");
}
}
return (head);
}
//5、查詢
struct ticket *chaxun1(struct ticket *head,char a[])
{
struct ticket *p;
p=head->next;
printf("班次\t始發地\t終點地\t日期\t剩餘票數 \n");
while(p!=NULL)
{
if(strcmp(p->banci,a)==0)
{
printf("%s\t%s\t%s\t%d\t%d \n",p->banci,p->shifadi,p->zhongdian,p->date,p->rest);
break;
}
else
p=p->next;
}
if(p==NULL){
printf("查詢班次不存在\n");
}
return(head);
}
struct ticket *chaxun2(struct ticket *head,char a[])
{
struct ticket *p;
p=head->next;
printf("班次\t始發地\t終點地\t日期\t剩餘票數 \n");
while(p!=NULL)
{
if(strcmp(p->shifadi,a)==0)
{
printf("%s\t%s\t%s\t%d\t%d \n",p->banci,p->shifadi,p->zhongdian,p->date,p->rest);
break;
}
else
p=p->next;
}
return(head);
}
struct ticket *chaxun3(struct ticket *head,int m)
{
struct ticket *p;
p=head->next;
printf("班次\t始發地\t終點地\t日期\t剩餘票數 \n");
while(p!=NULL)
{
if(p->date==m)
{
printf("%s\t%s\t%s\t%d\t%d \n",p->banci,p->shifadi,p->zhongdian,p->date,p->rest);
break;
}
else
p=p->next;
}
return(head);
}
void main()
{
printf("=============================車票查詢訂購系統===============================\n");
printf("1、讀入車輛班次初始化信息\n");
printf("2、增加班次信息\n");
printf("3、刪除班次信息\n");
printf("4、瀏覽所有班次\n");
printf("5、查詢\n");
printf("6、訂票退票\n");
printf("7、退出\n");
while(1)
{
int i,n,m,x;
char a[20],d[20],e[20];
struct ticket *head;
printf("請輸入要使用的業務前相應的數字:\t");
scanf("%d",&i);
if(i==7)
break;
else
//選擇結構
switch(i)
{
case 1: printf("輸入錄入的個數:\t");
scanf("%d",&n);;
head=creat(n);
break;
case 2:
insert(head);
break;
case 3:
printf("輸入要刪除的班次:\t");
scanf("%s",e);
del(head,e);
break;
case 4:
print(head);
break;
case 5:printf("1、按班次查詢:\t");
printf("2、按始發站查詢:\t");
printf("3、按日期查詢:\t");
scanf("%d",&x);;
switch(x)
{
case 1:printf("輸入要查詢班次:\t");
scanf("%s",d);
chaxun1(head,d);break;
case 2:printf("輸入要查詢的始發站(請查詢後輸入有效的始發站):\t");
scanf("%s",d);
chaxun2(head,d);break;
case 3:printf("輸入要查詢的日期(格式0101):\t");
scanf("%d",&m);;
chaxun3(head,m);break;
}
break;
case 6:
printf("訂票輸入1,退票輸入2:\t");
scanf("%d",&m);;
printf("輸入你要訂或退的班次:\t");
scanf("%s",a);
book(head,a,m);
break;
}
}
}
自己寫的,這是一個訂購、預訂車票系統,它有著增、刪、改、查的功能 ,樓主就按照老師的要求畫個流程圖就行了。知識點 ,我幫你標一下,絕對包括要求的所有知識點。不懂可以繼續追問
⑹ C語言設計作業
#include <stdio.h>
void main ()
{
printf("實驗名稱:循環控製程序設計 實驗人: 張三 學號:12345\n");
printf(" * *********\n");
printf(" *** *******\n");
printf(" ***** *****\n");
printf(" ******* ***\n");
printf(" ********* *\n");
printf("完成日期 2014.4.27 自我評價 良好\n");
}
。。。。望採納
⑺ C語言程序設計作業——高手幫忙啊
1
int str_len(char a[])
{int i=0;
while(a[i]!='\0')
{i++;}
return i+1;
}
2:void DelStr(char a[],char b[])
{
int i=0,j,k;
char c;
while(b[i]!='\0')
{
for(j=0;a[j]!='\0';j++)
if(b[i]==a[j])
{
for(k=j;a[k]!='\0';k++)
a[k]=a[k+1];
a[k]='\0';
}
i++; //i的值即字元串的長度
}
}
3 float f[10];
float max,min,aver,sum=0;//全局變數
void do_f(float f[])
{
int i,j;
for(i=0,j=0;i<10;i++)// 此循環求最小值
if(f[i]<f[j])
j=i;
min=f[j];
for(i=0;i<10;i++)//此循環求最大值
if(f[i]>f[j])
j=i;
max=f[j];
for(i=0;i<10;i++)//此循環求平均值
sum+=f[i];
aver=sum/10;
⑻ C語言設計作業題
#include <stdio.h>
#define PI (3.1415927)
int main()
{
double r;
scanf("%lf",&r);
printf("%lf ",2*PI*r);
return 0;
}
⑼ c語言程序設計作業。。。1.冒泡法排序,2. 第二大整數,3.數組輸出
# include <stdio.h>
int main()
{
int a[10],i,j,t;
for(i=0;i<10;++i)
{
scanf("%d",&a[i]);
}
for(i=0;i<9;++i)
{
for(j=0;j<9-i;++j)
{
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
for(i=0;i<10;++i)
{
printf("%d ",a[i]);
}
return 0;
}
# include <stdio.h>
int main()
{
int max,sec_max,t;
scanf("%d%d",&max,&sec_max);
if(max<sec_max)
{
t=max;
max=sec_max;
sec_max=t;
}
while(scanf("%d",&t),t)
{
if(t>max)
{
sec_max=max;
max=t;
}
else
{
if(t>sec_max)
{
sec_max=t;
}
}
}
printf("%d\n",sec_max);
return 0;
}
# include <stdio.h>
int main()
{
int i,j,a[3][4],max;
for(i=0;i<3;++i)
{
for(j=0;j<4;++j)
{
scanf("%d",&a[i][j]);
if(!i&&!j)
{
max=a[i][j];
}
else
{
if(max<a[i][j])
{
max=a[i][j];
}
}
}
}
for(i=0;i<3;++i)
{
for(j=0;j<4;++j)
{
if(a[i][j]==max)
{
printf("%d %d %d\n",a[i][j],i+1,j+1);
}
}
}
return 0;
}
⑽ C語言程序設計課程作業,求大神幫幫忙
#include<stdio.h>
int main(void)
{
float a,b,c,d;
printf("請輸入四個數:");
while(!scanf("%f%f%f%f",&a,&b,&c,&d))
printf("非法輸入,請重新輸入:",fflush(stdin));
if(a==b&&a+b==c+d) printf("1");
else printf("0");
return 0;
}