C语言编程的算法问题!!

[复制链接]
查看11 | 回复5 | 2007-10-12 08:33:44 | 显示全部楼层 |阅读模式
void main(){ int N; printf("\n input N:");
scanf("%d",&N); printf("\n %d天后是星期%d",N,(N+1)%7);}我也刚刚开始学,一起加油吧!
回复

使用道具 举报

千问 | 2007-10-12 08:33:44 | 显示全部楼层
这个问题可以更一般化...假设今天是星期m(00),判断n天后是星期几?这样做吧....void main(void){int M,N,res;printf("请输入今天是星期几");scanf("%d",&M);while(M7){
printf("输入错误,只有星期1到星期日\n 请重新输入一个1-7整 数"); scanf("%d",&M);}printf("请输入需要计算的天数(>0)");scanf("%d",&N);while(N0\n 请重新输入一个>0的整数"); scanf("%d",&N);}res=(M+N)%7;switch(res){
case 0:printf("星期 日\n");break;
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,那么上面的程序代码中M的值就是1.例如...输入M=1,N=6之后,,,程序将显示是星期日又例如输入M=3,N=8,(即表示今天是星期3,问8天后是星期几):程序的结果显示8天后是星期4..你自己可以验证下这个程序的正确性...(经过我修改后在TC上运行正确)我的QQ:273399972...我正在准备考研,有事Q我...
回复

使用道具 举报

千问 | 2007-10-12 08:33:44 | 显示全部楼层
//如果你还不满意,就试一下这个#includevoid main(){ int n; printf("n="); scanf("%d",&n); switch((n+1)%7)) {
case 1:printf("星期一");
break; case 2:printf("星期二");v
break; case 3:printf("星期三");
break; case 4:printf("星期四");
break; case 5:printf("星期五");
break; case 6:printf("星期六");
break; case 0:printf("星期天");
break; default:
printf("请不要输入负数");
}}
回复

使用道具 举报

千问 | 2007-10-12 08:33:44 | 显示全部楼层
mian(){int a,b[8],c;printf("输入日期:\n");scanf("%d",&a);c=(a+1)%7;while(c){b[c]=c;printf("结果:\n",b[c]);}}这个程序我没有调试也没运行过 不知道能不能运行;过程是把输入的日期a进行求余运算;得数放到b[a%7]里;用while循环;可以调出相对应的b数组下标下的数;
回复

使用道具 举报

千问 | 2007-10-12 08:33:44 | 显示全部楼层
#includevoid main(){int w=7;int n;cin>>n;int week=1+n%7;cout<<week<<endl;}#include"stdio.h" int mian() {int a;printf("输入一个数 :");scanf("%d",&a);switch(a%7){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;
case 7:printf("星期 日\n");break;} }
回复

使用道具 举报

千问 | 2007-10-12 08:33:44 | 显示全部楼层
输入输出啥的我就不写了,关键的一句是int nDay= (nToday + n)%7;其中nDay是要输出的星期几,nToday是今天星期几,n是输入的n天。算法的意思就是拿开始的星期几数+n天再取除7的余数,如果嫌星期7不好看,输出的时候判断一下如果是7就输出星期日就OK了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行