#include<stdioh>
int main(void){
int lower,upper;
float celsius,fahr;
scanf("%d%d",&lower,&upper);
if(lower<=upper){
printf("fahr celsius\n");
for(fahr=lower;fahr<=upper;fahr=fahr+2){
celsius=5(fahr-32)/9;
printf("%0f%61f\n",fahr,celsius);
}
}
else printf("Invalid");
}
1 D, 字节对齐 char 也是2
2 A B的第三个参数错;C常量不能做为左值;D不知道了
3 A
4 A
5 C
6 D
7 C
8 D
9 C
10B
11C
12B 用追加方式不可读。
13B
public class University implements Comparable {
private String uniName;
private int population;
public University(String uniName, int population) {
super();
thisuniName = uniName;
thispopulation = population;
}
public String getUniName() {
return uniName;
}
public void setUniName(String uniName) {
thisuniName = uniName;
}
public int getPopulation() {
return population;
}
public void setPopulation(int population) {
thispopulation = population;
}
@Override
public int compareTo(Object o) {
return ((University)o)getPopulation()-population;
}
} List<University>list=new ArrayList<>();
University university=new University("A", 3000);
University university2=new University("B", 2000);
University university3=new University("C", 4000);
University university4=new University("D", 6000);
University university5=new University("E", 5000);
listadd(university);
listadd(university2);
listadd(university3);
listadd(university4);
listadd(university5);
Collectionssort(list);
for(int i=0;i<listsize();i++){
Systemoutprintln(listget(i)getUniName());
Systemoutprintln(listget(i)getPopulation());
Systemoutprintln("");
}
输出:
D6000
E
5000
C
4000
A
3000
B
2000
三种循环一般可以相互转换的,但是根据不同的问题,解决办法的难易程度不一样
do{}while()
先执行do里面的,然后判断while的表达式条件,如果判断为真,就继续执行do里面的,
如果为假,就退出循环
while(){}
这个是先判断while表达式的条件,然后执行里面的循环体
for(1;2;3){}
这个是先执行1,然后执行判断表达式2,如果为真,执行3;再执行判断表达式2,如果为假,就退出循环
如果谢谢
在以下地方找:
百度,贴吧,找答案工具。
1、百度
这不用多说,遇到不懂的问题,大多数人第一反应就是百度,也确实比较好用。但在大学找答案这一块,会出现良莠不齐的情况,你搞不清楚自己搜出来的答案是对是错。
2、贴吧
到自己学校的贴吧去问,这样得到的答案正确率会比较高,但帖子也有可能石沉大海,无人问津。
3、找答案工具
比如上学吧找答案软件,高校很多专业课公共课的试题答案都能找到,用起来挺方便的。
你们都不是学生吧这么问的还好啊
你看看这个行不
我们刚学的,一个表达式求值的小程序
#include <stdioh>
#include <conioh>
#include <stringh>
#include "stdlibh"
typedef struct symbal //运算符
{
char s;
struct symbal next;
}Node_sym,Link_sym;
typedef struct number // *** 作数
{
float n;
struct number next;
}Node_num,Link_num;
//
void initsym(Link_sym &L); //初始化符号栈
int pushsym(Link_sym &L,char c); //运算符进栈
int popsym (Link_sym &L,char c); //运算符出栈
int emptysym(Link_sym L); //判栈空
int gettopsym(Link_sym L,char &c); //取栈顶
int prior(char a); //确定运算符的优先级
void initnum(Link_num &L); //初始化 *** 作数栈
int pushnum(Link_num &N,float c); // *** 作数进栈
int popnum (Link_num &N,float &num); // *** 作数出栈
int emptynum(Link_num L); //判栈空
int gettopnum(Link_num L,int n); //取栈顶
float calculate(char numb[]);
int disp(Link_num L); //查看符号栈
//
void initsym(Link_sym &L)
{
L=new Node_sym;
L->s='#';
L->next=NULL;
}
void initnum(Link_num &N)
{
N=NULL;
}
int pushsym(Link_sym &L,char c)
{
Link_sym p;
if ((p=new Node_sym)==NULL)return 0;
p->s=c;
p->next=L;
L=p;
return 1;
}
int pushnum(Link_num &N,float c)
{
Link_num p;
p=new Node_num;
p->n=c;
p->next=N;
N=p;
return 1;
}
int popsym (Link_sym &N,char c)
{
if (emptysym(N)==0)
{
//printf ("栈空");
return 0;
}
Link_sym p;
p=N->next;
c=N->s;
N=p;
return 1;
}
int popnum (Link_num &N,float &num)
{
if (emptynum(N)==0)
{
// printf ("栈空");
return 0;
}
num=N->n;
N=N->next;
return 1;
}
int emptysym(Link_sym L)
{
if (L==NULL)return 0;
else return 1;
}
int emptynum(Link_num L)
{
if (L==NULL)return 0;
else return 1;
}
int gettopsym(Link_sym L,char &c)
{
if (emptysym(L)==0)
{
// printf ("栈空");
return 0;
}
c=L->s;
return 1;
}
int disp(Link_num L)
{
if (L==NULL)
{
// printf("栈空");
return 0;
}
Link_num p=L;
while (p!=NULL)
{
printf ("%f",p->n);
p=p->next;
}
return 1;
}
void transform(char s[],char numb[]) //转化为后缀表达式
{
int i=0,j=0,n=0;
char temp;
Link_sym L;
initsym(L);
while(s[i]!=0)
{ //printf("\n当前遇到的是:%c\n",s[i]);
if(s[i]>='0'&& s[i]<='9'||s[i]=='')//是数字 //或者是小数点
{numb[j++]=s[i];
// printf ("进入后缀式\n");
i++;
continue;}
numb[j++]=' '; //每两个数字之间用空格隔开
//是运算符
switch(s[i]){
case '(': pushsym(L,'('); break;
case ')': gettopsym(L,temp);
while( temp!='('){
numb[j++]=temp;
popsym(L,temp);
gettopsym(L,temp);
}
break;
default: while(gettopsym(L,temp)&&prior(temp)>=prior(s[i]))
{
if(temp!='#')numb[j++]=temp;
popsym(L,temp);
}
if(s[i]!='#')pushsym(L,s[i]);
}//else
i++;
// printf("当前的后缀式是:");
// for(n=0;n<j;n++)putchar(numb[n]);
// putchar('\n');
// printf("当前的运算符栈是:");
// disp(L);
// getch();
}
numb[j]='\0';
}
int prior(char a) //返回运算符优先级
{
if(a=='+'||a=='-') return 1;
if(a=='#') return -1;
if(a==''||a=='/') return 2;
if(a=='(') return 0;
}
float calculate (char numb[])
{
int flag=0;
float num1,num2,temp;
float sum;
Link_num num;
initnum(num);
int i=0;
while (numb[i]!=0)
{
if (numb[i]>='0'&&numb[i]<='9'||numb[i]=='')
{
flag=0;
sum=0;
while (numb[i]>='0'&&numb[i]<='9'||numb[i]=='')
{
if (numb[i]==''){flag=1;i++;continue;}
if (flag==0)
{
sum=sum10+(numb[i]-48);
}
else
{
sum=sum10+(numb[i]-48);
flag++;
}
i++;
}
while (flag>1)
{
sum=sum/100;
flag--;
}
pushnum(num,sum);
}
if (numb[i]=='+'||numb[i]=='-'||numb[i]==''||numb[i]=='/')
{
popnum(num,num2);
popnum(num,num1);
char sym=numb[i];
switch(sym)
{
case '+': temp=num1+num2;pushnum(num,temp);break;
case '-': temp=num1-num2;pushnum(num,temp);break;
case '': temp=num1num2;pushnum(num,temp);break;
case '/': temp=num1/num2;pushnum(num,temp);break;
}
}
i++;
}
popnum(num,temp);
return temp;
}
main ()
{
float result;
int i,j=0;
char temp;
char c;
char s[100],numb[100];
do
{
system("cls");
int b;
printf("\n\n\n\n\t\t\t\t表达式计算(链栈)\n");
printf("\n\t\t\t 1将表达式转化为后缀表达式计算\n");
printf("\n\t\t\t 2退出\n");
printf("\n\t\t\t 请选择(1/2):");
while (1)
{
scanf("%d",&b);
if (b>2||b<1)
{
printf ("序号错误,重新输入:");
scanf("%d",&b);
}
if (b==1||b==2)break;
}
if (b==2)return 0;
fflush(stdin);
printf ("请输入表达式:");
gets(s);
i=strlen(s);
s[i]='#';
s[i+1]=0;
transform(s,numb);
result=calculate(numb);
s[i]=0;
system("cls");
for (i=0;i<100;i++)
{
printf ("计算中,请稍后\n%d%",i);
// delay(100);
system("cls");
}
puts(s);
printf ("的计算结果是:%f ^_^",result);
getch();
}while (1);
}
这个原来我写的
不过好长时间了,估计现在让我弄都已经弄不明白了 呵呵o(∩_∩)o
以上就是关于大一程序设计C语言全部的内容,包括:大一程序设计C语言、大一C语言问题(C语言程序设计 李凤霞 第二版)、大一Java程序设计问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)