某人有5张2分的邮票和5张3分的邮票,问使用这些邮票可以组合出多少种不同面值的邮资。(例如:1张2分邮票加1张3分邮票可以组成5分的邮资;3张2分的邮票或2张3分的邮票都可以组成同样的6分邮资。)按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。
#include
int main()
{
int i,j,k,s,n=0;
int a[100]={0};
for(i=0;_________;i++)
for(j=0;________;j++)
{
s=_____________;
for(for(k=0;a[k]!=0;k++))
if(s==a[k])
_________;
if(a[k]==0&&s>0)
{
_________;
n++;
}
}
printf("
%d kinds:",n);
for(k=0;a[k];k++)
printf("%2d,",a[k]);
return 0;
}
#include
int main()
{
int i,j,k,s,n=0;
int a[100]={0};
for(i=0;_________;i++)
for(j=0;________;j++)
{
s=_____________;
for(for(k=0;a[k]!=0;k++))
if(s==a[k])
_________;
if(a[k]==0&&s>0)
{
_________;
n++;
}
}
printf("
%d kinds:",n);
for(k=0;a[k];k++)
printf("%2d,",a[k]);
return 0;
}
举一反三
- 某人有5张2分的邮票和5张3分的邮票,问使用这些邮票可以组合出多少种不同面值的邮资。(例如:1张2分邮票加1张3分邮票可以组成5分的邮资;3张2分的邮票或2张3分的邮票都可以组成同样的6分邮资。)按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。 #include int main() { int i,j,k,s,n=0; int a[100]={0}; for(i=0;_________;i++) for(j=0;________;j++) { s=_____________; for(for(k=0;a[k]!=0;k++)) if(s==a[k]) _________; if(a[k]==0&&s>0) { _________; n++; } } printf(" %d kinds:",n); for(k=0;a[k];k++) printf("%2d,",a[k]); return 0; }
- 下面程序的功能是计算 S= 0!+1!+2!+…+k! ( k>=0 )。 #include "stdio.h" long fun(int n) { int i; long s=1; for(i=1; ① ;i++) s*=i; return( ② ); } int main() { int k,n; long s; scanf("%d",&n); s= ③ ; for(k=0;k<=n;k++) s+= ④ ; printf("%ld\n",s); return 0; }
- 中国大学MOOC: 写出程序的运行结果。#include <stdio.h>int main(){int c[10],i=0,j=0,k=0 ;int a[3]={5,9,10} ; int b[5]={12,24,26,37,48} ;while (i<3 && j<5)if (a[i]>b[j]) {c[k]=b[j] ; k++ ; j++ ;}else {c[k]=a[i] ; k++ ; i++ ;}while (i<3) {c[k]=a[i] ; i++ ; k++ ;}while (j<5) {c[k]=b[j] ; j++ ; k++ ;}for (i=0; i<k; i++) printf("%d ",c[i]); return 0;}
- 请阅读以下程序: void fun(int s[]) { static int j=0; do {s[j]+=s[j+1];}while(++j<2); } main( ) { int k,a[10]={1,2,3,4,5}; for(k=1;k<3;k++) fun(a); for(k=0;k<5;k++) printf("%d",a[k]); } 上面程序的输出是( ).
- 分析以下算法的时间复杂度。void fun( int n)i{ int s = 0,i,i,k; for (i - 0; i<= n; i++ ) for (j= 0;j<=i;j++) for (k = 0;k<j;k++) s tt ;}