求C语言大佬看看我这个程序那些地方错了?

#include<stdio.h>#include<string.h>#include<stdlib.h>intmain(){intc=6,b,i;doubletemp_... #include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
int c=6,b,i;
double temp_c,temp_f;
char str[20] = "\0";
printf("(温度转换程序,摄氏温度和华氏温度相互转换,摄氏温度后缀c,华氏温度后缀f,输入exit结束!):\n");
printf("请输入您想要转换的温度:\n");
gets(str);
if(strcmp(str,"exit")==0)
printf("程序结束!");
else if(str[0]=='C')
{
b=strlen(str);
while(str[c]!='.')
{
c++;
}
for(i=1;i<c;i++)
{
temp_c=temp_c*10+(str[i]-48);
}
for(i=b-1;i>c;i--)
{
temp_f=temp_f*0.1+(str[i]-48);
}
temp_c=temp_c*0.1;
temp_c=temp_c+temp_f;
temp_f=temp_c*1.8+32;
printf("%摄氏温度转换为华氏温度为:%.2f",str,temp_f);
}
else if(str[0]=='F')
{
b=strlen(str);
while(str[c]!='.')
{
c++;
}
for(i=2;i<c;i++)
{
temp_c=temp_c*10+(str[i]-48);
}
for(i=b-1;i>c;i--)
{
temp_f=temp_f*0.1+(str[i]-48);
}
temp_f=temp_f*0.1;
temp_c=temp_c+temp_f;
temp_c=(temp_f-32)/1.8;
printf("%s华氏温度转换为摄氏温度为:%.2f",str,temp_c);
}
else
printf("输入格式错误!");
return 0;
}
展开
 我来答
KlarkKenter
2020-04-27 · TA获得超过1681个赞
知道小有建树答主
回答量:1540
采纳率:0%
帮助的人:355万
展开全部

你的思路有点复杂了,错误太多了。随便提几个:

temp_c和temp_f没有初始化,

用户输入C和F是在前面还是后面?(说的后缀,判断用的是str[0]),大小写也没交代(判断只用了大写)。

输出printf第一个%后少了s(%s),感觉算法也有问题。

本来很简单的问题(读一个float变量和一个字符):

华氏度 = 32°F+ 摄氏度 × 1.8

摄氏度 = (华氏度 - 32°F) ÷ 1.8

#include "stdafx.h"

#include <iostream>

using namespace std;

int main()

{

char c;

float temp = 0;

cout<<"(温度转换程序,摄氏温度和华氏温度相互转换!):"<<endl;

cout << "请输入您想要转换的温度(格式:80 F,0 0表示退出!):" << endl;

cin >> temp;

cin>> c;

while (c-'0')

{

if (c == 'C'||c == 'c')

{

temp = 32 + temp*1.8;

printf("华氏温度:%.2f F\n", temp);

}

else if (c == 'F'||c == 'f')

{

temp = (temp - 32) / 1.8;

printf("摄氏温度:%.2f F\n", temp);

}

else if(c!=0)

cout << "输入有误,请按格式输入!"<<endl;

cin >> temp;

cin >> c;

}

system("pause");

    return 0;

}

匿名用户
2020-04-27
展开全部

简单的转换,弄得太复杂了

前面说的 C F 后缀符,后面处理起来 却是 前导符

推到重来!

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式