C语言程序设计的作业
main()
{
int i;
int *p;
i=2;
p=&i;
*p=10;
printf("i=%d\n",i);
}
2.#include <stdio.h>
int func(int a)
static int m=1;
m=m+a;
return(m);
}
main()
{
int a=2,i;
for(i=0;i<3;i++)
printf("%d\n",func(a));
}
3.#include <stdio.h>
void swap1(int *a, int *b )
{
int t;
t=*a;
*a=*b;
*b=t;
}
void swap2(int a, int b )
{
int t;
t=a;
a=b;
b=t;
}
void main( )
{
int x=5, y=10;
swap1(&x, &y);
printf("x=%d,y=%d \n",x,y);
swap2(x, y);
printf("x=%d,y=%d \n",x,y);
}
4.#include <stdio.h>
void main( )
{
int A[5], i;
for(i=0;i<5;i++)
A[i]=i;
for(i=4;i>=0;i--)
printf("A[%d]=%d\n",i,A[i]);
}
5.#include<stdio.h>
void print(int w)
{int i;
if(w!=0)
{print(w-1);
for(i=1;i<=w:i++)
printf("%d",w);
printf("\n");
}
}
void main( )
{ print(4); }
6.编写程序:请用户输入某年某月某日,判断这一天是这一年的第几天?
7.编写程序:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。
1到5是写出程序的结果。请大家多帮忙,谢谢! 展开
#include <stdio.h>
int main()
{
int f;
float l,s;
while(1)
{
printf("\n输入限速值及所测车速:");
scanf("%f%f",&l,&s);
if(s-l<0)
printf("未超速不处罚记%d分\n",f=0);
else if((s-l)/l<0.2)
printf("超速未到20%%记%d分\n",f=3);
else if((s-l)/l>=0.2 && (s-l)/l<0.5)
printf("超速20%%未到50%%记%d分\n",f=6);
else if((s-l)/l>=0.5)
printf("超速50%%及以上记%d分\n",f=12);
printf("驾驶证剩余分数:%d\n",12-f);
}
return 0;
}
#include <stdio.h>
int geti(char c);//获取字符对应下标
int main()
{
int ia,ib;
char a,b;
printf("猜拳游戏:'V'表示剪刀,' S' 表示石头,'P'表示布\n");
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("输入不符合规则,请重新输入!\n");
continue;
}
if(ia-ib==1 || ia-ib==-2)
printf("玩家a胜\n");
else if(ia-ib==-1 || ia-ib==2)
printf("玩家b胜\n");
else
printf("平局\n");
}
return 0;
}
int geti(char c)//获取字符对应下标
{
char g[3]={'V','S','P'};//数组元素依次克前一个元素及被后一个元素克制
int i=0;
for(i=0;i<3;i++)
if(g[i]==c)
return i;
return -1;
}
6题:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。
程序源代码:
main()
{
int day,month,year,sum,leap;
printf("\nplease input year,month,day\n");
scanf("%d,%d,%d",&year,&month,&day);
switch(month)/*先计算某月以前月份的总天数*/
{
case 1:sum=0;break;
case 2:sum=31;break;
case 3:sum=59;break;
case 4:sum=90;break;
case 5:sum=120;break;
case 6:sum=151;break;
case 7:sum=181;break;
case 8:sum=212;break;
case 9:sum=243;break;
case 10:sum=273;break;
case 11:sum=304;break;
case 12:sum=334;break;
default:printf("data error");break;
}
sum=sum+day; /*再加上某天的天数*/
if(year%400==0||(year%4==0&&year%100!=0))/*判断是不是闰年*/
leap=1;
else
leap=0;
if(leap==1&&month>2)/*如果是闰年且月份大于2,总天数应该加一天*/
sum++;
printf("It is the %dth day.",sum);}
7题:#include<iostream>
#include<string>
using namespace std;
void main()
{
string a;
int b(0);
cout<<"输入字符串:";
cin>>a;
cout<<"长度为:"<<a.length()<<endl;
}
i=10
第2题
3
5
7
第3题
x=10,y=5
x=10,y=5
第4题
A[4]=4
A[3]=3
A[2]=2
A[1]=1
A[0]=0
第5题
1
22
333
4444
第6题
#include <stdio.h>
void main()
{
int a, b, c;
int i, x = 0;
printf ("请输入年-月-日");
scanf ("%d-%d-%d", &a, &b, &c);
for(i=1;i<b;i++) {
switch (b)
{
case 12:
x += 31;
break;
case 11:
x += 30;
break;
case 10:
x += 31;
break;
case 9:
x += 30;
break;
case 8:
x += 31;
break;
case 7:
x += 31;
break;
case 6:
x += 30;
break;
case 5:
x += 31;
break;
case 4:
x += 30;
break;
case 3:
x += 31;
break;
case 2:
x +=28 +(a%4 == 0 && (a %100 == 0 || a % 400 != 0));
break;
case 1:
x += 31;
break;
}
}
x += c;
printf ("天数是%d\n",x);
}
第7题
#include <stdio.h>
void main()
{
char str[1000];
printf("请输入字符串:");
gets(str);
int i=0;
while(str[i]!=0) i++;
printf("字符串长度为%d\n",i);
}
2. 3
5
7
3. x=10,y=5
x=10,y=5
4. A[4]=4
A[3]=3
A[2]=2
A[1]=1
A[0]=0
5. 1
22
333
4444
6.