当前位置:首页 » 编程语言 » c语言编程问题

c语言编程问题

发布时间: 2022-07-10 06:42:30

1. c语言编程问题

1、输入有范围,两个变量输入都需要验证,方法变量处置范围以外,循环判断输入。

2、天数循环计数,日期0~6周期自增。用变量累加计数结果。

下面是演示代码:

#include<stdio.h>

int main()

{

int i,j,a=7,n=366,cnt=0;

while(a<0 || a>6)

printf("请输入a的值(0~6):"),scanf("%d",&a);

while(n<0 || n>365)

printf("请输入n的值(0~365):"),scanf("%d",&n);

for(i=0,j=a;i<n+1;i++,j++)

{

if(j==4) cnt++;

if(j==6) j=-1;

}

printf("上机次数%d次 ",cnt);

return 0;

}

2. C语言编程问题,急求答案

使用冒泡的算法,将p后面的n-p-1个元素向前交换p+1次:


#include "stdafx.h"

#include <iostream>

using namespace std;

#define N 1000

int main()

{

int n, p;

int num[N];

cout << "请输入n值和p值:" << endl;

cin >> n >> p;

cout << "请输入" << n << "个数:" << endl;

for (int i = 0; i < n; i++)

cin >> num[i];

for (int i = 0; i <= p; i++)

{

for (int j = 0; j < n - p - 1; j++)

{

int temp = num[p+j-i];

num[p + j-i] = num[p + j + 1-i];

num[p + j + 1-i] = temp;

}

}

for (int i = 0; i < n; i++)

cout << num[i] << " ";

cout << endl;

system("pause");

return 0;

}

3. 关于c语言编程问题!

long
fun(int
n)//返回值是长整型,输入为整型
{
int
i;long
s;//此句应该给s赋初值1,改为long
s=1;
for(i=1;i<=n;i++)//n控制循环次数
s*=i;//s=s*i完成1到n的累乘,即
s=1*2*3*4....*n
return(s);
}
main()
{int
k,n;
long
s;
scanf("%d",&n);//键盘输入n的值
s=0;
for(k=0;k<=n;k++)
s+=fun(k);//s=s+fun(k),完成累加功能,即s=f(0)+f(1)+f(2)....+f(n),f(x)是x的阶乘
printf("%d\n",s);
}
如果输入n=5的话,最后结果为s=0!+1!+2!+3!+4!+5!不知道你明白了没
a-=2是
a=a-2的简写变量运算符=常量相当于变量=变量运算符常量

4. C语言编程问题

#include<stdio.h>

#include<string.h>

#include<ctype.h>

int main()

{ char s[1000],s1[100],*p,*q,*q1,*t,s2[100];

int n;

gets(s);

q=s+strlen(s);

while(1)

{ gets(s1);

if(strcmp(s1,"#")==0)break;

for(q=s+strlen(s)-1; isalpha(*q); q--)

if(islower(*q))*q-=32;

q=s+strlen(s);

for(p=s1; isalpha(*p); p++);

strcpy(q,p);

}

puts(s);

return 0;

}

5. c语言编程问题

#include<iostream>

usingnamespacestd;

constPi=3.1415926;
typedefstructpoint{
doublex,y;
}point;

classShape{
public:
virtualdoublegetArea()const=0;
};
classRectangle:publicShape{
doublelength,width;
pointx,y;
public:
Rectangle(doublelen,doublewid):length(len),width(wid){}
Rectangle(pointp1,pointp2){
length=p2.x-p1.x;
width=p2.y-p1.y;
}
doublegetArea()const{returnlength*width;}
};

classCircle:publicShape{
pointcenter;
doubleradius;
public:
Circle(doubler):radius(r){}
Circle(pointcen,doubler){
center=cen;
//center.x=cen.x;
//center.y=cen.y;
radius=r;
}
doublegetArea()const{returnPi*radius*radius;}
};
intmain(){
Shape*s[4];
doublelen=4,wid=5,r=1.0;
pointpos0={1,1},pos1={0,0},pos2={5,6};
s[0]=newCircle(pos0,r);
s[1]=newRectangle(pos1,pos2);
s[2]=newRectangle(len,wid);
s[3]=newCircle(r);
for(inti=0;i<4;++i)
cout<<s[i]->getArea()<<endl;
return0;
}

6. C语言编程问题

程序运行时先进入第一个switch语句,即switch(a>0),你可能认为它是值是2,所以直接执行default了吧?其实它的值不是2,而是1,因为a>0是一个表达式,它返回的是真或假的值,因为a=2,是大于0的,所以这个式子成立,所以返回的值为真,在C中"真"用1表示,所以当a=2时switch(a>2)就等价于switch(1),执行第二个switch语句,即执行switch(b<0)因为b=7,是不小于0的,返回值为假(C中用0表示),所以这个语句等价于switch(0),而这个switch里没有case
0,所以跳出这个switch,不过要注意switch(a>0)中的case
1:中是一个switch语句,而这个语句后面是没有break的,所以它要再执行

case
0:
switch(c==5)

{
case
0: printf("*");
break;

case
1: printf("#");
break;

case
2: printf("$");
break;

}

这个部分,c==5的返回值是1,所以输出一个"#",而case
0:switch(c==0)这个语句后面还是没有break,所以就要再执行default,即输出一个"&",两次输出后显示在屏幕上的当然就是"#&"了

热点内容
滑板鞋脚本视频 发布:2025-02-02 09:48:54 浏览:432
群晖怎么玩安卓模拟器 发布:2025-02-02 09:45:23 浏览:557
三星安卓12彩蛋怎么玩 发布:2025-02-02 09:44:39 浏览:743
电脑显示连接服务器错误 发布:2025-02-02 09:24:10 浏览:537
瑞芯微开发板编译 发布:2025-02-02 09:22:54 浏览:146
linux虚拟机用gcc编译时显示错误 发布:2025-02-02 09:14:01 浏览:235
java驼峰 发布:2025-02-02 09:13:26 浏览:651
魔兽脚本怎么用 发布:2025-02-02 09:10:28 浏览:538
linuxadobe 发布:2025-02-02 09:09:43 浏览:212
sql2000数据库连接 发布:2025-02-02 09:09:43 浏览:726