百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术分析 > 正文

C语言程序设计上机程序题 c语言程序设计题解与上机指导

liebian365 2024-10-18 09:31 30 浏览 0 评论

/* 第一题:n为一个整数(小于10万),它加上100后是一

个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

#include<iostream>

#include<cmath>

using namespace std;

int judge(int a)

{

int b=sqrt(a);

if(a==b*b)

return 1;

else

return 0;

}

void main()

{

int i,t;

for(i=-99;i<100000;i++)

if

(judge(i+100)&&judge(i+168))

cout<<i<<endl;


}*/



/*第二题:求1000之内的完全数。

说明:完全数就是:除了它本身以外所有因子之和等于其

本身,例如:6=1+2+3。

#include<iostream>

using namespace std;

void main()

{

int a,b,sum=0;

for(a=1;a<=1000;a++)

{

for(b=1;b<=a/2;b++)

{

if(a%b==0)

sum=sum+b;

}

if(sum==a)

cout<<a<<endl;

sum=0;

}

}

*/



/*第三题:求出 [900, 1000]间有偶数个因子(这里因子不

含1和自身)的数有多少个,其中最小的一个?

#include<iostream>

using namespace std;

void main()

{

int a,b,c=0,d=0,min;

for(a=1000;a>=900;a--)

{

for(b=2;b<=a/2;b++)

{

if(a%b==0)

++c;

}

if(c%2==0)

{

++d;

min=a;

}

}


cout<<"min="<<min<<"一共有:"<<d<<endl;


}

*/



/*第四题:编写一个自定义函数:int f( int M, int N) ,f( )的功能是:

对给定的正整数M和N,找出满足方程"7x+4y=M"的正整数解中x是偶数且y

是奇数的解,其中:x,y属于[1,N]的范围。

要求:若M和N不都是正整数,则结束函数并返回-1;只有M和N都是正整数

时,才继续求解操作,用二重循环进行求解:

(1)在函数中输出满足条件的正整数解x和y

(2)并且使函数值返回满足条件的正整数解的组数


#include<iostream>

using namespace std;

int f(int M,int N)

{

int x,y,k=0;

if(M<0||N<0)

{cout<<"请输入正整数";

return -1;}


{for(x=2;(M-7*x>0)&&N>=x;x+=2)

{

for(y=1;N>y;y+=2)

{

if(M-7*x-4*y==0)

{cout<<"x="<<x<<" y="<<y<<endl;

++k;}

}

cout<<"k="<<k;

return k;}}

}

void main()

{

int M,N;

cout<<"请输入整数M:";

cin>>M;

cout<<"请输入整数N:";

cin>>N;

f(M,N);

}

*/


/*第五题:编写一个自定义函数:int f( char x, int N) ,f( )的功

能是:对给定的字符c和整数N,用c代表的符号打印一个N行的图案,每

行开头没有任何空格。比如,当c为"*"且N为5时,打印的图案如本题图

所示。且函数值返回1。

#include<iostream>

using namespace std;

int f(char x,int n)

{

int i,j;

for(i=1;i<=n;i++)

{

for(j=1;j<=i;j++)

cout<<x;

cout<<endl;

}

return 0;

}

int main()

{

f('*',5);

return 0;

}*/


/*第六题:编写一个自定义函数:int f( int N) ,f( )的功能是:

对给定的正整数N,打印一个N行N列的由"A"、"B"、"C"以及空格" "符

号组成的方阵图案。比如,当N为5时,打印的图案如本题图所示。且

函数值返回1。


#include<iostream>

using namespace std;

int f(int N)

{

int i,j;

char a[100][100];

for(i=0;i<=2*N-1;i++)

{

for(j=0;j<=2*N-1;j++)

{

if((j==0&&i%2==0)||(i==j&&i%2==0))

a[i][j]='A';

else if(j>i&&i%2==0&&j%2==0)

a[i][j]='B';

else if(j%2!=0||i%2!=0)

a[i][j]='\t';

else

a[i][j]='C';

}

cout<<a[i][j];

}

return 1;

}

void main()

{

f(5);

}


*/


/*第七题:根据下列要求和提示,编写一个函数f(N)判断某数N是

否为"完全数",N由主函数给出;如果N是"完全数"则函数值返回1,

N不是"完全数"则函数值返回0。"完全数"定义如下:如果一个数恰

好等于它的因子之和(因子包括1,不包括数本身),则称该数为

"完全数"。如:6的因子是1、2、3,而6=1+2+3,则6是个"完全数"。

#include<iostream>

using namespace std;

int f(int N);

void main()

{

int N;

cin>>N;

if(f(N)==1)

cout<<N<<"是完全数"<<endl;

else

cout<<N<<"不是完全数"<<endl;

}

int f(int N)

{

int a,sum=0;

for(a=1;a<=N/2;a++)

{

if(N%a==0)

sum+=a;

}

if(N==sum)

return 1;

else

return 0;

}


*/



/*第八题:编写程序,求e的值,e≈1+1/1!+1/2!+1/3!+1/4!+...,

最后一项的值小于1e-6。

#include<iostream>

using namespace std;

int jiecheng(int N)

{

int i,c=1;

for(i=1;i<=N;i++)

c=c*i;

return c;

}

void main()

{

double e=1.0;

int t;

for(t=1;(jiecheng(t))<=100000000;t++)

e=e+1.0/jiecheng(t);

cout<<e<<endl;

}*/




/*第九题:有十进制数字a,b,c,d和e,求满足式子:abcd*e=dcba

(a非0,e非0非1)的四位数中:

(1)共有多少个?

(2)最小的abcd;

(3)与之相对应的e。


#include<iostream>

using namespace std;

int f(int n)

{int m,sum=0;

while(n)

{

m=n%10;

sum=sum*10+m;

n=n/10;

}

return sum;

}


void main()

{ int i,j=0,k;

for(i=4999;i>=1000;i--)

{

if(f(i)/i*i==f(i)&&f(i)>i)

{

j++;

k=i;

}

}

cout<<j<<endl;

cout<<k<<endl;

cout<<f(k)/k;

}

*/



/*第十题:有一个7层灯塔,每层所点灯数都等于该层上一层

的两

倍,灯的总数是381盏,求:塔底灯数?第几层的灯数为48?


#include<iostream>

using namespace std;

int f(int n)

{

if(n==1)

return 1;

else

return 2*f(n-1);


}

void main()

{ int i,x,sum=0;

for(x=1;x<100;x++)

{

for(i=1;i<=7;++i)

{sum+=x*f(i);}

if(sum!=381)

sum=0;

else

cout<<"x="<<x<<endl;


}

}


*/


/*第十一题:有3个红球,5个白球,6个黑球,从中任意取出

8个球,

且其中必须有白球,请求出共有多少种取法?


#include<iostream>

using namespace std;

int main()

{

int x,y,sum=0;

for(x=1;x<=5;x++)

{

for(y=0;y<=3;y++)

{ if((8-x-y)<=6)

sum++;

}

}

cout<<sum;

return 0;

}

*/




/*第十二题:求数列1,3,3,3,5,5,5,5,5,7,7,7

,7,7,7,7……。求:

第40项的值;值为17的第1个数是数列中第几项?

#include<iostream>

using namespace std;

void main()

{

int i,sum=0;

for(i=1;sum<=40;i+=2)

sum+=i;

i-=2;

cout<<i<<endl;

sum=0;

for(i=1;i<17;i+=2)

sum+=i;

cout<<sum+1<<endl;

}

*/




/*第十三题:计算p的近似值,直到最后一项的绝对值小于

10-8为止,近似公式为


#include<iostream>

using namespace std;

int f(int N)

{

if(N%2==0)

return (-1);

else

return 1;

}

void main()

{

int i,c=0;double p=0;

for(i=1;i<100000000;i+=2)

{

c=c+1;

p+=1.0/i*f(c);

}

cout<<p<<endl;

}

*/



//第十四题:用牛顿迭代法求方程3x3-4x2-5x+13=0在x=1

附近的根,要求精度为10-6。

/*

#include<iostream>

#include<iomanip>

using namespace std;

double y(double x)

{

double y;

y=3*x*x*x-4*x*x-5*x+13;

return y;

}

double k(double x)

{

double y;

y=9*x*x-8*x-5;

return y;

}

void main()

{

double x=1.0;

while(1)

{

int a=(x-y(x)/k(x))*1000000;

int b=x*1000000;

if(a==b)

{

cout<<setprecision(7)<<x;

break;

}

else

x=x-y(x)/k(x);

}

}

*/




/*第十五题:编写一个自定义函数:int f( int M, int N)

,函数f的功能是:对给定的正整数M和N,

找出满足方程"5x+6y=M"的正整数解中x和y都是偶数的

解。要求:若M和N不都是正整数,

则结束函数并返回-1;只有M和N都是正整数时,且

x,y∈[1,N], 才继续求解操作,

并用二重循环进行求解:(1)在函数中输出满足条件的

正整数解x和y,

(2)使函数值返回满足条件的正整数解的组数。


#include<iostream>

using namespace std;

int f(int M,int N)

{

int x,y,k=0;

if(M<0||N<0)

{

cout<<"请输入正整数";

return -1;

}

{

for(x=2;(M-5*x>0)&&N>=x;x+=2)

{

for(y=2;N>y;y+=2)

{

if(M-5*x-6*y==0)

{

cout<<"x="<<x<<" y="<<y<<endl;

++k;

}

}

}

cout<<"k="<<k;

return k;

}

}

void main()

{

int M,N;

cout<<"请输入整数M:";

cin>>M;

cout<<"请输入整数N:";

cin>>N;

f(M,N);

}

*/





/*第十六题:求s=2+22+222+...+222...2的和,即第n

个加数是一个n位的整数,

且各数位上的数字均为2,例如当n=4时,s=2+22

+222+2222。

要求设计一个函数int f(int n)求每一个加数,在main()中用累

加求和方式求出总和。


#include<iostream>

using namespace std;

int f(int N)

{

int i,p=0;

for(i=1;i<=N;i++)

p=p*10+2;

return p;

}

int main()

{

int s=0,i,n;

cout<<"input n:";

cin>>n;

for(i=1;i<=n;i++)

s=s+f(i);

cout<<"2+22+222''''''="<<s<<endl;

return 0;

}

*/




//第十七题:所有能被13整除又能被17整除且

末位不是偶数的三位数有几个?最大的一个?

//如何处理多个数中输出最大的

/*

#include<iostream>

using namespace std;

int main()

{

int i=100,j=0,a;

for(;i<=999;i++)

{

if(i%13==0&&i%17==0&&i%2!=0)

{ a=i;


j++;}

}

cout<<a<<" "<<j<<endl;

return 0;

}

*/







//第十八题:基本解决,有两个疑问,为何不能执行

,为何写1.0

/*

#include<iostream>

using namespace std;


double f(int n)

{

if(n==1)

return 1.0;

else if(n==2)

return 2.0;

else

return f(n-1)+f(n-2);

}


void main()

{

double sum=0;

int i;

for(i=1;i<=20;i++)

sum+=f(i)/f(i+1);

cout<<sum<<endl;

cout<<f(i)/f(i+1);

}*/






*/

/*第二十题:从键盘上输入一个正整数,判别它是否为

一回文数。如:123321

#include<iostream>

using namespace std;

void main()

{

int a,b,c=0,d;

cout<<"请输入正整数"<<endl;

cin>>d;

b=d;

while(b)

{

a=b%10;

c=c*10+a;

b=b/10;

}

if(d==c)

cout<<"yes";

else

cout<<"NO";

}

*/

相关推荐

“版本末期”了?下周平衡补丁!国服最强5套牌!上分首选

明天,酒馆战棋就将迎来大更新,也聊了很多天战棋相关的内容了,趁此机会,给兄弟们穿插一篇构筑模式的卡组推荐!老规矩,我们先来看10职业胜率。目前10职业胜率排名与一周前基本类似,没有太多的变化。平衡补丁...

VS2017 C++ 程序报错“error C2065:“M_PI”: 未声明的标识符&quot;

首先,程序中头文件的选择,要选择头文件,在文件中是没有对M_PI的定义的。选择:项目——>”XXX属性"——>配置属性——>C/C++——>预处理器——>预处理器定义,...

东营交警实名曝光一批酒驾人员名单 88人受处罚

齐鲁网·闪电新闻5月24日讯酒后驾驶是对自己和他人生命安全极不负责的行为,为守护大家的平安出行路,东营交警一直将酒驾作为重点打击对象。5月23日,东营交警公布最新一批饮酒、醉酒名单。对以下驾驶人醉酒...

Qt界面——搭配QCustomPlot(qt platform)

这是我第一个使用QCustomPlot控件的上位机,通过串口精确的5ms发送一次数据,再将读取的数据绘制到图表中。界面方面,尝试卡片式设计,外加QSS简单的配了个色。QCustomPlot官网:Qt...

大话西游2分享赢取种族坐骑手办!PK趣闻录由你书写

老友相聚,仗剑江湖!《大话西游2》2021全民PK季4月激燃打响,各PK玩法鏖战齐开,零门槛参与热情高涨。PK季期间,不仅各种玩法奖励丰厚,参与PK趣闻录活动,投稿自己在PK季遇到的趣事,还有机会带走...

测试谷歌VS Code AI 编程插件 Gemini Code Assist

用ClaudeSonnet3.7的天气测试编码,让谷歌VSCodeAI编程插件GeminiCodeAssist自动编程。生成的文件在浏览器中的效果如下:(附源代码)VSCode...

顾爷想知道第4.5期 国服便利性到底需优化啥?

前段时间DNF国服推出了名为“阿拉德B计划”的系列改版计划,截至目前我们已经看到了两项实装。不过关于便利性上,国服似乎还有很多路要走。自从顾爷回归DNF以来,几乎每天都在跟我抱怨关于DNF里面各种各样...

掌握Visual Studio项目配置【基础篇】

1.前言VisualStudio是Windows上最常用的C++集成开发环境之一,简称VS。VS功能十分强大,对应的,其配置系统较为复杂。不管是对于初学者还是有一定开发经验的开发者来说,捋清楚VS...

还嫌LED驱动设计套路深?那就来看看这篇文章吧

随着LED在各个领域的不同应用需求,LED驱动电路也在不断进步和发展。本文从LED的特性入手,推导出适合LED的电源驱动类型,再进一步介绍各类LED驱动设计。设计必读:LED四个关键特性特性一:非线...

Visual Studio Community 2022(VS2022)安装图文方法

直接上步骤:1,首先可以下载安装一个VisualStudio安装器,叫做VisualStudioinstaller。这个安装文件很小,很快就安装完成了。2,打开VisualStudioins...

Qt添加MSVC构建套件的方法(qt添加c++11)

前言有些时候,在Windows下因为某些需求需要使用MSVC编译器对程序进行编译,假设我们安装Qt的时候又只是安装了MingW构建套件,那么此时我们该如何给现有的Qt添加一个MSVC构建套件呢?本文以...

Qt为什么站稳c++GUI的top1(qt c)

为什么现在QT越来越成为c++界面编程的第一选择,从事QT编程多年,在这之前做C++界面都是基于MFC。当时为什么会从MFC转到QT?主要原因是MFC开发界面想做得好看一些十分困难,引用第三方基于MF...

qt开发IDE应该选择VS还是qt creator

如果一个公司选择了qt来开发自己的产品,在面临IDE的选择时会出现vs或者qtcreator,选择qt的IDE需要结合产品需求、部署平台、项目定位、程序猿本身和公司战略,因为大的软件产品需要明确IDE...

Qt 5.14.2超详细安装教程,不会来打我

Qt简介Qt(官方发音[kju:t],音同cute)是一个跨平台的C++开库,主要用来开发图形用户界面(GraphicalUserInterface,GUI)程序。Qt是纯C++开...

Cygwin配置与使用(四)——VI字体和颜色的配置

简介:VI的操作模式,基本上VI可以分为三种状态,分别是命令模式(commandmode)、插入模式(Insertmode)和底行模式(lastlinemode),各模式的功能区分如下:1)...

取消回复欢迎 发表评论: