c语言深入浅出学算法005,算法标准答案.docx

算法标准答案

Problem H: 乘法口诀Time Limit: 1 Sec??Memory Limit: 64 MBSubmit: 11234??Solved: 3034Description还记得以前小学时的九九乘法口诀吧。现在要求你编写程序打印出乘法口诀。 不过现在的乘法口诀表跟以前稍微有点区别,我告诉你一个数字n( 1 <= n <= 9),你要给我打出相应的nn乘法口诀表。Input多个测试数据。每个测试数据一行,输入整数n.Output输出nn乘法口诀表。 每个乘法口诀表中的任何一个乘式占6列,不足6列的在后面补空格。同一行2个乘式之间有一个空格。 两个乘法口诀表之间有一个空行。注意乘法口诀中每一行最后没有空格,如4*4=16和5*5=25后面都没有空格的。Sample Input126Sample Output1*1=11*1=11*2=2 2*2=41*1=1 1*2=2 2*2=41*3=3 2*3=6 3*3=91*4=4 2*4=8 3*4=12 4*4=161*5=5 2*5=10 3*5=15 4*5=20 5*5=251*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36HINT%-2d表示对齐方式为左对齐例如,printf("%-6d",100);将输出:?????? 100#include#includeint main(){int n,i,j;char a[10][10];while(scanf("%d",&n)!=EOF){for(i=1;i<=n;i++){for(j=1;j<=i-1;j++){a[i][j]=j*i;printf("%d*%d=%-2d ",j,i,a[i][j]);}printf("%d*%d=%-2d",i,i,i*i);printf("\n");}printf("\n");}return 0;}Problem G: 打印金字塔Time Limit: 1 Sec??Memory Limit: 64 MBSubmit: 6241??Solved: 3777Description请编写程序输出金字塔图形。Input多个测试数据。每个测试数据输入一个整数n(1 <= n <= 9)Output输出n层金字塔。Sample Input13Sample Output* * ********HINT用双重循环做,外循环代表行数,第一个内循环输出空格,第二个内循环输出*for(;;){for(;;){}//输出空格for(;;){}//输出*}//外循环#includeint main(){ int n,i,j,k;while(scanf("%d",&n)!=EOF){for(i=1;i<=n;i++){for(j=1;j<=n-i;j++) printf(" ");for(k=1;k<2*i;k++) printf("*"); printf("\n") ;}} return 0;}3920: 老外买瓷砖Time Limit: 1 Sec??Memory Limit: 64 MBSubmit: 1344??Solved: 656Description大酬宾活动的第三天,店里突然来了一个老外。还是高中生的小娥在开店。可怜的小娥被老外流畅的外语给吓蒙了。老外没办法,只好一个字母一个字母地把订单念给小娥。吓蒙的小娥只记得有几个元音字母了(aeiou),不过很不幸的是她把H也当作了A,Y当作了I.Input第一行输入一个整数n,表示老外说了多少句话。然后是n行,每一行是老外说的外语。Output对于老外说的每句话,请统计出小娥记得的各元音字母的个数(包含记错的),每个元音1行,格式见例子Sample Input2Hello.How are you!Sample Outputa:1e:1i:0o:1u:0a:2e:1i:1o:2u:1HINT一句话不超过50个字符#include voidf(int* a,char* s) {?? while(*s)??? {??????? switch(*s)?????? {??????? case'h':??????? case'H':??????? case'A':??????? case'a':a[0]++; break;?????? case'E':??????? case'e': a[1]++;break;????? case'Y':??????? case'y':??????? case'I':??????? case'i': a[2]++; break;?????? case'O':??????? case'o': a[3]++;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值