下面程序的功能是输出1到100之间数位上的数的乘积大于和的数。例如数字26,数位上数字的乘积12大于数字之和8。 main() { int n,k=1,s=0,m; for(n=1;n<=100;n++) { k=1; s=0; 【 ① 】 ; while(【 ② 】 ) { k*=m%10; s+=m%10; 【 ③ 】 ; } if(k>s) printf(”%d”,n); } } 【②】:A.m>0B.m<0C.m=0D.m==0
下面程序的功能是输出1到100之间数位上的数的乘积大于和的数。例如数字26,数位上数字的乘积12大于数字之和8。 main() { int n,k=1,s=0,m; for(n=1;n<=100;n++) { k=1; s=0; 【 ① 】 ; while(【 ② 】 ) { k*=m%10; s+=m%10; 【 ③ 】 ; } if(k>s) printf(”%d”,n); } } 【②】:
A.m>0
B.m<0
C.m=0
D.m==0
参考答案和解析
m=n;m;m/=10
相关考题:
有以下程序void change(int k[ ]){ k[0]=k[5];}main(){ int x[10]={1,2,3,4,5,6,7,8,9,10},n=0;while( n=4 ) { change( x[n]) ; n++; }for(n=0;n5;n++) printf("%d ",x[n]);printf("\n");}程序运行后输出的结果是A)6 7 8 9 10B)1 3 5 7 9C)1 2 3 4 5D)6 2 3 4 5
有以下程序段 , 且变量已正确定义和赋值for(s=1.0,k=1;k=n;k++) s=s+1.0/(k*(k+1));printf("s=%f\n\n",s);请填空 , 使下面程序段的功能为完全相同s=1.0;k=1;while( _[10]_______ ){ s=s+1.0/(k*(k+1)); _[11]_______ ;}printf("s=%f\n\n",s);
(9)以下程序运行后的输出结果是【9】#include stdio.hmain( ){int k=1,s=0;do{if{((k2)!=0)continue;s+=k;k++;}while(k)10);printf(“s=d/n”,s);}
以下程序运行后的输出结果是【 9 】#include stdio.hmain(){ int k=1,s=0;do{if((k%2)!=0) continue;s+=k;k++;}while(k10);printf("s=%d\n",s);}
有以下程序 void change(int k[]){k[0]=k[5];} main() { int x[10]={1,2,3,4,5,6,7,8,9,10},n=0; while(n<=4) { change(x[n]); n++;} for(n=0;n<5;n++) printf("%d",x[n]); printf("\n"); } 程序运行后输出的结果是______。A.678910B.13579C.12345D.62345
该程序运行的结果是( )。#include#include#define M 100void fun(int m, int *a, int *n){ int i,j=0;for(i=1;i=m;i++)if(i%7==0||i==0)a[j++]=i;*n=j;}main(){ int aa[M],n,k;clrscr();fun(10,aa,n);for(k=0;kif((k+1) ==0)printf("\n");else printf("M",aa[k]);printf("\n");}
阅读下列程序说明和C代码,将应填入(n)处的字句写在对应栏内。【说明】“背包问题”的基本描述是:有一个背包,能盛放的物品总重量为S,设有N件物品,其重量分别为w1,w2,…,wn。希望从N件物品中选择若干件物品,所选物品的重量之和恰能放入该背包,即所选物品的重量之和等于S。如下程序均能求得“背包问题”的一组解,其中程序1是“背包问题”的递归解法,而程序2是“背包问题”的非递归解法。【程序1】include<stdio.h>define N 7define S 15int w[N+1]={0,1,4,3,4,5,2,7};int knap(int s, int n){if(s==0) return 1;if(s<0 || (s>0 n<1))return 0;if((1)){/*考虑物品n被选择的情况*/printf("%4d",w[n]);return 1;}return (2);/*考虑不选择物品n的情况*/}main(){if(knap(S,N))printf("OK!\n");else printf("N0!\n");}【程序2】include<stdio.h>define N 7define S 15typedef struct{int s;int n;int job;}KNAPTP;int w[N+1]={0,1,4,3,4,5,2,7};int knap(int s, int n);main(){if(knap(S,N)) printf("0K!\n");else printf("N0!\n");}int knap(int s, int n){KNAPTP stack[100],x;int top, k, rep;x.s=s;x.n=n;x.job=0;top=1; stack[top]=x;k=0;while( (3) ){x=stack[top];rep=1;while(!k rep){if(x.s==0) k=1;/*已求得一组解*/else if(x.s<0 || x.n<=0) rep=0;else{x.s=(4);x.job=1;(5)=x;}}/*while*/if(!k){rep=1;while(top>=1 rep){x=stack[top--];if(x.job==1){x.s +=w[x.n+1];x.job=2;stack[++top]=x;(6);}/*if*/}/*while*/}/*if*//*while*/if(k){&nbs
以下程序运行后的输出结果是【】。includemain(){int k=1,s=0; do{ if((k%2)!=0)continue; 以下程序运行后的输出结果是【 】。include<stdio.h>main(){ int k=1,s=0;do{if((k%2)!=0) continue;s+=k; k++;}while(k>10);printf("s+%d\n",s);}
有以下程序: main() { char nn[4][3]={"12","34","56","78"),*pn[4]; int k,s=0; for(k=0;k<4;k++)pn[k)=nn[k]; for(k=1;k<4;k+=2) s=s*10+pn[k][1]-'0'; printf("%d\n",s); } 程序的输出结果是( )A.48B.26C.3478D.576
以下程序执行后的输出结果是【】。includemain(){int i, m=0,n=0,k=0;for(i=9;i 以下程序执行后的输出结果是【 】。include<iostream.h>main(){int i, m=0,n=0,k=0;for(i=9;i<= 11 ;i++)switch(i/10){case 0: m++; n++; break;case 10: n++; break;default: k++; n++;}cout<<m<<n<<k;}
下列程序中的this指针的作用是【 】。include class Sample{int n;static int st;publ 下列程序中的this指针的作用是【 】。include <iostream. h>class Sample{int n;static int st;public,Sample() {}Sample(int m) {n=m; st=m+10;}void Change(int k) {st=st+k;}void AddValue(int m){Sample s,s. n=n+m;*this=s;}void disp( ) {cout<<"n="<<n<<";st="<<st<<end1;}};int Sample: :st=0void main(){Sample s1(10),s2(10)s1.disp()s1.AddValue(5),s2.Change(100);s1.disp();s2.disp()}
以下程序中,函数 sumColumM的功能是:求出M行N列二维数组每列元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出。请填空。define M 2define N 4void SumColumMin(int a[M][N],int *sum){ int i,j,k,s=0;for(i=0;i〈N;i++){ k=0;for(j=1;j<M;j++)if(a[k][i]>a[j][i])k=j;s+=【 】;}【 】 =s;}main( ){ int x[M][N]={3,2,5,1,4,1,8,3},s;SumColumMin(【 】);printf("%d\n",s);}
有以下程序 include int fun(int (*s)[4],int n,int k) {int m,i; 有以下程序 #include <stdio.h> int fun(int (*s)[4],int n,int k) {int m,i; m=s[0][kl; for(i=1;i<n;i++) if(s[i][k]>m) m=s[i][k]; return m; } main() { int a[4][4]={{1,2,3,4},{11,12,13,14}, {21,22,23,24}, {31,32,33,34}}; printf("%d\n",fun(a,4,0)); } 程序的运行结果是______。A.4B.34C.31D.32
有下列程序: include void fun(int * s,int n1,int n2) { int i,j, 有下列程序: #include <stdio.h> void fun(int * s,int n1,int n2) { int i,j,t; i=n1;j=n2; while(i<j){t=s[i];s[i]=s[j];s[j]=t;i++;j--;} } main() { int a[10]={1,2,3,4,5,6,7,8,9,0},k; fun(a,0,3); fun(a,4,9);fun(a,0,9); for(k=0;k<10;k++)printf("%d",a[k]);printf("\n"); } 程序的运行结果是( )。A.987654321B.4321098765C.5678901234D.987651234
下面程序的运行结果是( )。 include main() {int a,s,n,m; a=2;s=0;n=1;m=1; while(m 下面程序的运行结果是( )。 include<stdio.h> main() {int a,s,n,m; a=2;s=0;n=1;m=1; while(m<=4){n=n*a;s=s+n;++m;} printf("s=%d",s); }
有以下程序:includemain(){int a=1,b=2,m=0,n=0,k; k=(n=b>a)||(m=a 有以下程序: #include <stdio.h> main() { int a=1,b=2,m=0,n=0,k; k=(n=b>a)||(m=a<b); printf("%d,%d\n",k,m); } 程序运行后的输出结果是( )。A.0,0B.0,1C.1,0D.1,1
阅读以下程序说明和C程序,将程序段中(1)~(7)空缺处的语句填写完整。【说明】【C程序1】用回溯算法来产生由0或1组成的2m个二进位串,使该串满足以下要求。视串为首尾相连的环,则由m位二进制数字组成的2m个子序列,每个可能的子序列都互不相同。例如,如果m=3,在串11101000首尾相连构成的环中,由3位二进制数字组成的每个可能的子序列都在环中恰好出现一次,它们依次是111,110,101,010,100,000,001,011,如图2-14所示。【C程序2】是求“背包问题”的一组解的递归算法程序。“背包问题”的基本描述是:有一个背包,能盛放的物品总重量为S,设有N件物品,其重量分别为W1,W2,…,Wn,希望从N件物品中选择若干件物品,所选物品的重量之和恰能放入该背包,即所选物品的重量之和等于S。【C程序1】define N 1024define M 10int b [N+M-1]int equal(int k, int j int m) {int i;for(i=0; i<m; i++if ( b[ k + i] (1) )return 0;return 1; }int exchange (int k, int m, int v){while ( b[ k + m - 1 ) == v ) {b[ kncm--i]=! v (2);}(3)=v;return k;}init ( iht v) {int kfor( k = 0;K = N + M - 1;k++)b[k] = v;}main ( ) {int m, v, k, n, j;printf ('Enter m (l<m<10) , v v=0, v=1)\ n") ;scanf (" %d%d , m, v);n = 0x01 << m;init (!v);k=0;while((4)< n)for (j=0;j<k;j++)if (equal (k, j, m)) {k=exchange (k, m, v)j=(5);}for (k= 0 ;k<n ;k++ )print{ (" %d\ n" , b[k]) ;}}【C程序2】include<stdio. h>define N 7define S 15int w[N+1] = {0, 1, 4, 3, 4, 5, 2, 7};int knap (int S, int n){if (S == 0)return 1;if (s<0 || (s>0 n<1))return 0;if ((6))) {printf( "4d", w[n]);return 1;}return (7)}main ( ) {if (knap (S, N)printf("OK:\n");elseprintf("NO!\n")}
下列给定程序中,函数fun()的功能是找出100~n(n不大于1000)之间百位数字加十位数字等于个位数字的所有整数,把这些整数放在s所指的数组中,个数作为函数值返回。请改正程序中的错误,使它能得到正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:include<stdio.h>define N 100int fun(int *s,int n){int i,j,k,a,b,c;j=0;for(i=100;i<n;i++){/*************found***********/k=n;a=k%10;k/=10;b=k%10;c=k/10;if(a==b+c)/************found**************/s[j]=i;}return j;}main(){int a[N],n,num=0,i;do{printf("\nEnter n(<=1000):”);scanf("%d",n);}while(n>1000);num=fun(a,n);printf("\n\nThe result:\n”);for(i=0;i<num;i++)printf("%5d",a[i]);printf("\n\n");}
以下程序运行后的输出结果是main{ int i,m=0,n=0,k=0; for(i=9;i=11;i++) switch(i/10) { case 0: m++;n++;break; case 1: n++;break; default:k++;n++; } printf("%d %d %d\n",m,n,k);}
以下程序的输出结果是#include stdio.hmain(){ int k=4,s=0; do{ if((k%3)==0) continue; s+=k;k++; }while(k10); printf("s=%d\n",s);}
以下程序的输出结果是#include conio.h#include stdio.h#define M 100void fun(int m, int *a, int *n){ int i,j=0; for(i=1;i=m;i++) if(i%7==0||i%11==0) a[j++]=i; *n=j;}main(){ int aa[M],n,k; clrscr(); fun(100,aa,n); for(k=0;kn;k++) if((k+1)%20==0)printf("\n"); else printf("%d",aa[k]); printf("\n"); }
下列给定程序中,函数proc的功能是找出100~m(m 不大于1000)之间百位数字加十位数字等于个位数字的所有整数,把这些整数放在s所指的数组中,个数作为函数值 返回。 请修改程序中的错误,使它能得到正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: includestdio.h define M 1000 int proc(int*S.int n) { int i,j,k,a,b,c; j=0; for(i=100;in;i++) { //****found**** k=n: a=k%10; k/=10; b=k%10; c=k/10; if(a==b+c) //****found**** s[j]=i: } return j; } void main { int a[M],m,num=0,i; do { printf("\nEnter m(=1000):"); scanf("%d",&m); } while(m1000); num=proc(a,m); printf("\n\nThe result:\n"); for(i=0;inum;i++) printf("%5d",a[i]); printf("\n\n"); }
下面程序的功能是输出数组s中最大元素的下标,请填空。main(){ int k, p,s[]={1, -9, 7, 2, -10, 3}; for(p =0, k =p; p 6; p++) if(s[p]s[k]) ; printf("%d\n", k);}
有以下程序#include stdio.hvoid fun(int *s,int n1,int n2){ int i,j,t;i=n1; j=n2;while(ij) {t=s[i];s[i]=s[j];s[j]=t;i++;j--;}}main(){ int a[10]={1,2,3,4,5,6,7,8,9,0},k;fun(a,0,3); fun(a,4,9); fun(a,0,9);for(k=0;kl0;k++)printf("%d",a[k]); printf("\n");}程序的运行结果是A.0987654321B.4321098765C.5678901234D.0987651234
有以下程序includevoidfun(int*s,intn1,intn2){inti,j,t; i=n1j=n2; while(i 有以下程序 #include <stdio.h> void fun(int *s,int n1,int n2) { int i,j,t; i=n1 j=n2; while(i<j) {t=s[i];s[i]=s[j];s[j]=t;i++;j--;} } main() { int a[10]={1,2,3,4,5,6,7,8,9,0},k; fun(a,0,3); fun(a,4,9); fun(a,0,9); for(k=0;k<10;k++)printf("%d",a[k]); printf("\n"); } 程序的运行结果是A.987654321B.4321098765C.5678901234D.987651234
以下程序的功能是输出1至100之间每位数的乘积大于每位数的和的数,例如对于数字 12,有1*2<1+2,故不输出该数:对于27,有2*7>2+7,故输出该数。请填空。include<iostream.h>void main(){int n,k=1,s=o,m;for (n=1:n<=100:n++={k=1;s=0;_____,while( ){k*=m%10;s+=m%10;(3) ;
下面程序的运行结果是【 】。main(){ int i=0,j=10,k=2,s=0;for(;;){i+=k;if(ij){printf("%d\n",s);break; }s+=i; } }