C语言的选择和循环上机题目(部分)

/*(1)某市不同车牌的出租车3公里的起步价和计费分别为:夏利7元/公里,3公里以外2.1元/公里;富康8元/公里,3公里以外2.4元/公里;桑塔纳9元,3公里以外2.7元/公里。编程:从键盘输入乘车的车型及公里数,输出应付的车资。*/
/*
#include<stdio.h>
void xiali(double *x);
void fukang(double *x);
void sangtana(double *x);

void main(){
    double m,*x;
    int n;
    printf("请输入行驶的公里数:");
    scanf("%lf",&m);
    x=&m;
    printf("车型是(夏利为1,富康为2,桑塔纳为3:");
    scanf("%d",&n);
    switch(n){
    case 1 :xiali(x);break;
    case 2 :fukang(x);break;
    case 3 :sangtana(x);break;
    }
    printf("总价格为:%.2lf\n",*x);
}

void xiali(double *x){
    double a;
    a=*x;
    if(a<=3)
        *x=7*a;
    else
        *x=7*3+2.1*(a-3);
}

void fukang(double *x){
    double a;
    a=*x;
    if(a<=3)
        *x=8*a;
    else
        *x=8*3+2.4*(a-3);
}

void sangtana(double *x){
    double a;
    a=*x;
    if(a<=3)
        *x=9*a;
    else
        *x=9*3+2.7*(a-3);
}
*/
/*Write a program that asks the user to type in two integer values at the terminal. Test these two number to determine if the first is evenly divisible by the second, and then display an appropriate message at the terminal.*/
/*
#include<stdio.h>
int panduan(int x,int y);

void main(){
    int x,y;
    int m;
    printf("请输入两个要判断的数:");
    scanf("%d %d",&x,&y);
    m=panduan(x,y);
    if(m==0)
        printf("%d不能整除%d\n",x,y);
    else
        printf("%d能整除%d\n",x,y);
}

int panduan(int x,int y){
    int flat=0;
    if(x%y==0)
        flat=1;
    return flat;
}
*/
/*编写程序。功能:从读入的整数数据中,统计大于零的整数个数和小于零的整数个数。用输入零来结束输入,程序中用变量i统计大于零的整数个数,用变量j统计小于零的整数个数。*/
/*
#include<stdio.h>
int duru(int s[],int n);
void panduan( int s[],int n);
#define N 20

void main(){
    int x;
    int shuju[N];
    x=duru(shuju,N);
    panduan(shuju,x);
    printf("大于零的整数个数是:%d,小于零的整数个数是:%d\n",shuju[0],shuju[1]);

}

int duru(int s[],int n){
    int i;
    printf("请输入一串数字:");
    for(i=0;i<n ;i++){
        scanf("%d",&s[i]);
        if(s[i]==0)
            break;
    }
    return i;
}

void panduan( int s[],int n){
    int m,i,j;
    for(m=0,i=j=0;m<n;m++){
        if(s[m]>0)
            i++;
        else
            j++;
    }
    s[0]=i;
    s[1]=j;
}
*/
/*功能:以每行5个数来输出300以内能被7或17整除的偶数,并求出其和。*/
/*
#include<stdio.h>
int panduan(int s[],int n);
#define N 300

void main(){
    int shu[N],i,j,sum=0;
    j=panduan(shu,N);
    for(i=0;i<j;i++){
        printf("%4d",shu[i]);
        if((i+1)%5==0 && i!=0)
            printf("\n");
        sum +=shu[i];
    }
    printf("\n%4d\n",sum);
}

int panduan(int s[],int n){
    int i,j=0;
    for(i=0;i<n;i++)
        if(i%2==0)
            if(i%7==0 || i%17==0)
                s[j++]=i;
    return j-1;
}
*/
/*分别求出一批非零整数中的偶数、奇数的平均值,用零作为终止标记。*/
/*
#include<stdio.h>
int duru(int s[],int n);
void panduan( int s[],int n);
#define N 20

void main(){
    int x;
    int shuju[N];
    x=duru(shuju,N);
    panduan(shuju,x);
    printf("偶数的平均值是:%.2f,奇数的平均值是:%.2f\n",(float)shuju[0]/(float)shuju[1],(float)shuju[2]/(float)shuju[3]);

}

int duru(int s[],int n){
    int i;
    printf("请输入一串数字:");
    for(i=0;i<n ;i++){
        scanf("%d",&s[i]);
        if(s[i]==0)
            break;
    }
    return i;
}

void panduan( int s[],int n){
    int m,i,j,sum1=0,sum2=0;
    for(m=0,i=j=0;m<n;m++){
        if(s[m]%2==0){
            i++;
            sum1 +=s[m];
        }
        else{
            j++;
            sum2 +=s[m];
        }
    }
    s[0]=sum1;
    s[1]=i;
    s[2]=sum2;
    s[3]=j;
}
*/
/*计算并输出500以内最大的10个能被13或17整除的自然数之和。*/
#include<stdio.h>
int panduan(int s[],int n);
#define N 500

void main(){
    int shu[N],i,j,sum=0;
    j=panduan(shu,N);
    for(i=j;i>j-10;i--){
        printf("%4d",shu[i]);
        sum +=shu[i];
    }
    printf("\n%4d\n",sum);
}

int panduan(int s[],int n){
    int i,j=0;
    for(i=0;i<n;i++)
            if(i%13==0 || i%17==0)
                s[j++]=i;
    return j-1;
}

时间: 2024-10-16 09:15:07

C语言的选择和循环上机题目(部分)的相关文章

13_Shell语言———语言控制结构之for循环语句

一.语言控制结构概述 在前文中(4_Shell语言---脚本概述)介绍过面向过程的编译语言,其控制结构主要有以下三种: a) 顺序执行:默认法则:一句一句逐行执行: b) 选择执行:进行条件判断,只有部分是符合条件的,故只执行符合条件的部分: 条件判断通常采用布尔测试:即判断条件为真或为假,在bash中: 0: 为真 1~255: 为假(即非0为假,这点和很多编程语言相反) c) 循环执行:将同一段代码反复执行N次,若N为无穷大,则会出现死循环的现象,故循环必须有退出条件,这里的N就是退出条件.

初学C#和MVC的一些心得,弯路,总结,还有教训(1)--语言的选择

---恢复内容开始--- 因为惰性,自制力,求知欲等各方面原因....一直没有学新技术,总感觉VB6凑合能用就凑合用.... 于是大概从05年开始,几乎每次新版的vs一发布,我就下载回来,然后安装,然后,,,,就扔那了..... 直到装了Win8系统,VB6的IDE(SP6)怎么也装不上了,,,,,终于咬牙决定进军.net.. 因为有深厚的VB基础嘛,至少语法上会有相当的相似,所以想都没想就奔着VB.net去了... 可是学了一段时间后发现几个问题 1.感觉关键字冗余,代码不够优美 2.示例代码

各种语言的选择

如果编写对性能要求苛刻,或和操作系统结合紧密的程序,必然选择C. 如果编写到处可用的程序,选Java. 如果编写大程序,可能的话尽量用脚本语言如Python.Ruby,不行了再用Java和C.因为脚本语言带来了生产力. 编写文本的处理程序用Perl或Ruby. 编写知识的处理程序用prolog. 编写最灵活,最模糊的程序用Lisp. 编写office程序用vba. 编写服务器端程序,PHP.(采用自己熟悉的语言来写,例如Perl.Python.Ruby)CGI.ASP.(熟悉Java就用)JSP

Java语言中的----条件循环

day06 Java语言中的条件循环 一.条件循环概述: 条件循环对于我们来说一点也不陌生,在程序中使用循环语句是很普片的事儿,所以说你一定得学会循环语句. 二.条件循环 条件循环主要包括两个循环语句,分别是if...else和switch...case语句. 1.if循环结构         if (){                  }else{                  } 2.switch...case循环结构         switch () {     case 1:

Atitit 项目语言的选择 java c#.net &#160;php??

Atitit 项目语言的选择 java c#.net  php?? 1.1. 编程语言与技术,应该使用开放式的目前流行的语言趋势1 1.2. 从个人职业生涯考虑,java优先1 1.3. 从项目实际来说,java优先2 1.1. 编程语言与技术,应该使用开放式的目前流行的语言趋势 目前来看,工业型的语言只有java 和c#.net系列可以入选.不过综合考虑历史与未来长期趋势,java是唯一的选择. 如果确实要使用一些其他语言,建议限制在小范围模块内使用,防止扩散 1.2. 从个人职业生涯考虑,j

C语言优化实例:循环中减少判断

为了让编译器更好地优化循环,应该尽量让循环中减少判断,方法之一是将判断语句整合进表达式.还是这个例子: for (int i = 0; i < 1000*10; i++) { sum += data[i/1000][i%10]; } 假如我们需要加一个判断,只有非负整数才需要作求和运算: for (int i = 0; i < 1000*10; i++) { if (data[i/1000][i%10] >= 0) sum += data[i/1000][i%10]; } 下面将这个判断

Java语言程序设计基础篇 循环(四)

①打印:***** **** *** ** * for(int x=1; x<=5; x++) { for(int y=x; y<=5; y++) { System.out.print("*"); //向下一般的格式for(int y=x; y<=5; y++) } System.out.println(); } ②打印:* ** *** **** ***** for (int x=1; x<=5 ;x++ ) { for (int y=1;y<=x ;y

Java语言程序设计基础篇 循环(四)练习

*4.21(计算不同利率下的贷款)编写程序,让用户输入贷款总额及以年为单位的贷款期限,以1/8为递增量,显示从5%到8%的利率下每月支付额和总偿还额.假设输入贷款总量为10 000,还贷期限为5年,所显示的输出如下: 贷款总额:to 000 年数:5 利率月支付额总偿还额 5%188 .71   11322.74 5 .125%189.28   11357.13 5 .25%189.85   11391.59 ... //Exercise3_26.java: displays the month

C语言实现按位循环左移和循环右移

ror eax,cl ==> eax=(eax>>cl)+(eax<<(sizeof(eax)-cl)); rol eax,cl ==> eax=(eax<<cl)+(eax>>(sizeof(eax)-cl)); C语言实现按位循环左移和循环右移