更多"[说明] 编写一个Application,从键盘输入整数n,并计算从1"的相关试题:
[填空题]程序的功能是:从键盘输入一个十进制正整数N,将N转换成相应的十六进制整数表示形式,请完善该程序
CLEAR
INPUT "输入一个正整数" TO N
S=N
Y="0123456789ABCDEF"
X=""
DO WHILE _ _①_ _
B=INT(N/16)
A=N-B*16
X=________②__________
N=________③________
ENDDO
S,"——>",X,"H"
RETURN
[简答题]【说明】
计算n的合数。一个整数n可以有多种划分,使其划分的一列整数之和为n。例如,整数5的划分为:
5
4 1
3 2
3 1 1
2 2 1
2 1 1 1
1 1 1 1 1
共有7种划分。这种划分的程序如下所示。
【程序】
#include <stdio.h>
int n[1000],m,k;
void output sum( )
{
int j;
for(j=0;n[j]!=0;j++)
printf("%d/t",n[j]);
printf("/n");
}
void sum(int i)
if(m-n[i]<n[i])
{ m=m-n[i];
(1)
i++;
n[i+1]=0;
}
else
{
(2)
m-=n[i];
i++;
}
if(m!=n[i])
sum(i);
else
output_sum( );
if(n[i]>1)
{
n[i]--;
(3)
}
else
{
while((n[i]==1)&&(i>O))
{
i--;
(4)
}
if(i!=0)
{
(5)
sum(i);
}
}
}
void main( )
{
int i;
scanf("%d",&n[0]);
m=k=n[0];
for(i=1;i<=k;i++)
n[i]=0;
while(n[0]!=1)
{
n[0]--;
i=0;
sum(0);
m=k;
}
}
[简答题]【说明】
计算n的合数。一个整数n可以有多种划分,使其划分的一列整数之和为n。例如,整数5的划分为:
5
4 1
3 2
3 1 1
2 2 1
2 1 1 1
1 1 1 1 1
共有7种划分。这种划分的程序如下所示。
【程序】
#include <stdio.h>
int n[1000],m,k;
void output sum( )
int j;
for(j=0;n[j]!=0;j++)
printf("%d/t",n[j]);
printf("/n");
void sum(int i)
if(m-n[i]<n[i])
m=m-n[i];
(1)
i++;
n[i+1]=0;
else
(2)
m-=n[i];
i++;
if(m!=n[i])
sum(i);
else
output_sum( );
if(n[i]>1)
n[i]--;
(3)
else
while((n[i]==1)&&(i>O))
i--;
(4)
if(i!=0)
(5)
sum(i);
void main( )
int i;
s
[简答题]请编写一个函数fun( ),它的功能是计算并输出给定整数n的所有因子(不包括1与自身)之和(规定n的值不大于1000)。
例如:输入n的值为856,则输出为sum=763。
注意:部分源程序已存在文件test33_2.cpp中。
请勿修改主函数main和其他函数中的任何内容,仅在函数count的花括号中填写若干语句。
文件test33_2.cpp清单如下:
#include<stdio. h>
#include<iostream. h>
int fun(int n)
{
}
void main ( )
{
int n, sum;
cout<<"Input n:"<<end1;
cin>>n;
sum=fun (n);
cout<<" sum= /n"<<sum<<end1;
}
[简答题]请编写一个函数fun( ),它的功能是计算并输出给定整数n的所有因子(不包括1与自身)的平方和(规定n的值不大于100)。
例如:主函数从键盘给输入n的值为56,则输出为 sum=1113。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include <stdio.h>
long fun(int n)
main( )
int n;
long sum;
printf("Input n:");
scanf("%d",&n);
sum=fun(n);
printf("sum=%ld/n",sum);
[简答题]【说明】
编写程序,对于从键盘输入的3个实数a、b、c,计算实系数一元二次方程的根并输出所求的根。
【函数】
#include<sldio.h>
#include<sldlib.h>
#include<math.h>
Main( )
float a,b,c,delta,x1,x2;
printf("Enter a,b,c");
scanf("%f%f%f",&a,&b,&c));
if( (1) )
if( (2) )
printf("Input error!/n");
else
printf("The single root is%f/n", (3) );
else
delta=b*b-4*a*c;
if( (4) )
x1=(-b+sqrt(delta))/(2*a);
x2=(-b-sqrt(delta))/(2*a);
printf("x1=%8.2f/nx2=%8.2f/n",x1,x2,);
else if(delta==0)
printf("x1=x2=%8.2f/n", (5) ;
else
Printf("z2=%8.2f+%8.2f*i/n",-b/(2*a),sqrt(-delta)/)(2*abs(a)));
Printf("z2=%8.2f-%8.2f*i/n",-b/(2*a),sqrt(-delta)/(2*abs(a)));
[填空题][说明]
下面C程序代码的功能是:对于输入的一个正整数n(100≤n<1000),先判断其是否是回文数(正读反读都一样的数)。若不是,则将n与其反序数相加,再判断得到的和数是否为回文数,若还不是,再将该和数与其反序数相加并进行判断,依此类推,直到得到一个回文数为止。例如,278不是回文数,其反序数为872,相加后得到的1150还不是回文数,再将1150与其反序数511相加,得到的1661是回文数。
函数int isPalm(long m)的功能是:将正整数m的各位数字取出存入数组中,然后判断其是否为回文数。若m是回文数则返回1,否则返回0。
[C程序代码]
#include<stdio.h>
#include<stdlib.h>
int isPalm(long m)
int i=0, k=0;
char str[32];
while(m>0)
str[k++]= (1) +’0’;
m=m/10;
for(i=0; i<k/2; i++)
if(str[i]!=str[ (2) ])return 0;
return 1;
int main( )
long n, a, t;
printf("input a positive integer: "); scanf("%ld", &n);
if(n<100||n>=1000)return -1;
while( (3) )
printf("%id->", n);
for(a=0, t=n; t>0; )
a= (4) *10+t%10; t=t/10;
n= (5) ;
printf("%id/n", n);
system("pause"); return 0;
[简答题]输入一个整数n(n<10),如果n=3,则输出
1
222
33333
222
1
以此类推。
[简答题]采用递归调用的算法编写一个计算x的n次方的函数(不用写主函数调用)。
[填空题]
以下程序从键盘输入20个整数存入数组,统计输入非负数的个数,并计算输入的非负整数之和。
#include"stdio.h"
main( )
{int i,a[20],s,n;
s=n=0:
for(i=0;i<20;i++)scanf("%d",&a[i])
for(i=0;i<20;i++)
{if(a[i]<0)break;
S+=a[i];n++;
}
printf("s=%d/t,n=%d/n",s,n);
}
错误:______
改正:______
[填空题]以下程序从键盘输入20个整数存入数组,统计输入非负数的个数,并计算输入的非负整数之和。
#include"stdio.h"
main( )
int i,a[20],s,n;
s=n=0:
for(i=0;i<20;i++)scanf("%d",&a[i])
for(i=0;i<20;i++)
if(a[i]<0)break;
S+=a[i];n++;
printf("s=%d/t,n=%d/n",s,n);
错误:______
改正:______
[填空题]以下程序由终端键盘输入一个文件名,然后把从终端键盘输入的字符依次存放到该文件中,用#作为结束输入的标志,请填空。
#include<stdio.h>
main( )
FILE *fp;
char ch,fname[10];
printf("Input the nam /n");
gets(fname);
if((fp= 【17】 ==NULL)
printf("Cannot open/n"); exit(0);
printf("Enter data/n");
while(ch=getchar( )!=’#’)
fputc( 【18】 ,fp);
fclose(fp);