不知道要啥怪的我没看出错来但是,输出的时候有个小错,但我不知道这个你有没有考虑到就是:
scanf("%d", &j);你这里问用户要看第几个数
printf("%d", a[j]);但这里输出的是第j+1个数
改成printf("%d", a[j-1]);
我想起来了,4字节(int)的第26个数就溢出了所以要用long long再大就用无符号的
如:
这个是第26个数: FFFFFFFFFF
这个是int能存的: FFFFFFFF
如果这样要赋值,那前面的两个F就会丢失
后面是乱码,你没有初始化字符数组
char a[5] = {};
scanf遇到空格回车都会停止 *** 作,所以当你输入q空格时就只输进了q,空格后面的数据暂时还在输入缓冲区里等待读入
所以只有a[0]是正确的数据,后面因为没有初始化,是分配时储存在里面的旧数据,也就是乱码
少加很多括号,我改了,改的地方加好
#include<iostream>
using namespace std;
int main(){
int s,weight,m;
double price;
cout<<"请输入路程和重量\n";
cin>>s>>weight;
m=s/250;
if(s==250) { price=10sweight; cout<<"价格是"<<price;}
if(s==500) {price=10sweight098; cout<<"价格是"<<price;}
if(s==1000) {price=10sweight095; cout<<"价格是"<<price;}
if(s==2000) {price=10sweight092; cout<<"价格是"<<price;}
if (s!=250&&s!=500&&s!=1000&&s!=250&&s!=2000){
switch(m)
{
case 0: price=10sweight; break;
case 1: price=10sweight098; break;
case 2: case 3: price=10sweight095; break;
case 4: case 5: case 6: case 7: price=10sweight092; break;
default: price=10sweight09;
}
}
cout<<"价格是"<<price;
return 0 ;
}
以上就是关于C语言程序高手进!大家看看这个斐波拉契数列的程序哪里不对啊运行起来很奇怪!全部的内容,包括:C语言程序高手进!大家看看这个斐波拉契数列的程序哪里不对啊运行起来很奇怪!、用scanf程序输入字符数组,在输入的数字之间输入空格对于c语言用%c输出会出现奇怪的数字、新手c++程序,显示没错误,但是总是显示很奇怪的数字,到底哪儿错了...等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)