当前位置:首页 » 编程语言 » c语言入门例题
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言入门例题

发布时间: 2022-05-28 01:49:26

c语言入门编程题,题目如图所示。给点思路方法

  1. 可以确定的5个变量:3个系数 a,b,c, 2个根 x1, x2,都是double类型

  2. 输入a,b,c

  3. a=0的情况 (b=0,无解, b!=0, x1 = -c/b)

  4. 计算delta = b*b - 4ac

  5. if delta >0

    x1 = ..., x2 = ... ;

  6. else if delta == 0

    x1 = x2 = -b/(2a)

  7. else 无实数解。

  8. 各种情况下的输出。

② c语言基础题

按照你的要求编写的求出现最长的数字和位置的C语言程序如下

#include <stdio.h>

int main(){

int a[]={1,1,2,2,2,3,3,3,3,5,5,6,6,6,6};

int length=1,pos,i,j;

for(i=1;i<sizeof(a)/sizeof(a[0]);i++){

if(a[i]==a[i-length]){

length++;

}

}

printf("长度为%d ",length);

for(i=length-1;i<sizeof(a)/sizeof(a[0]);i++){

if(a[i] == a[i-length+1]){

for(j=i-length+1;j<=i;j++){

if(j==i){

printf("%d ",a[j]);

}else{

printf("%d,",a[j]);

}

}

pos = i-length+1;

printf("位置为%d ",pos+1);

}

}

return 0;

}

③ c语言入门基础题!

答:(1) 因为42、43对应的ASCII码为*、+,所以用%c输出是:*、+;因为42、43二进制数8位表示为:0010 1010、0010 1011,没有超过8位可表示的最大正数127,所以用%d输出是42、43。
(2) 因为242、243对应的扩展ASCII码为≥、≤,所以用%c输出是:≥、≤;因为242、243二进制数8位表示为:1111 0010、1111 0011,超过8位可表示的最大正数127,所以用%d输出时将其视为负数,1111 0010、1111 0011分别为-14、-13,故输出为:-14、-13。
(3) 当程序中c1,c2的定义改为int c1,c2;时。(1)的情况与原来相同;
(2)输出对应的扩展ASCII码仍然为≥、≤;因为242、243都在int类型数据的正数范围内,所以用%d输出时就是:242、243。

④ C语言刚入门,题目有图片,题目看的不太懂,求答案有详细过程

题目中定义了一个结构体,其中有四个成员分别是学号和三个成绩,并且初始化了两个人的学号和两门功课成绩。下面的程序段则分别计算两个人的平均分平均分并且一五位宽度,一位小数的新手输出这两个人的平均分。,并且以五位宽度一位小数的形式输出这两个人的平均分。
所以最后得到的输出是。
60.5
70.5
每个数字前各有一个空格。

⑤ c语言题目基础题

22题:m*n=3+1*2+3=8 选B
18题:x--(第一次x值是x-1后的值即为0)x=0[假],++y(第一次y的值为y初始值为-1,第二次才是y=y+1)y=-1[假], 结果:假&&假=真 选A
5题 A应为 int a,b=0(是逗号,不是等号),d double为双精度浮点型,保留两位小数点,改为float才正确,故 a,d为错误选项

⑥ 几道初学者的c语言题目

(1)

#include"stdio.h"
voidchange(intnumsSource[][20],intnumsDest[][20]){
chari,j,k;
for(i=0;i<20;i++)
for(j=0;j<20;j++)
numsDest[j][i]=numsSource[i][j];
}
intmain(intargv,char*argc[]){
inta[20][20],b[20][20],n,i,j;
printf("Inputn(int0<n<21)... ");
if(scanf("%d",&n)!=1||n<1||n>20){
printf("Inputerror,exit... ");
return0;
}
for(i=0;i<n;i++){
for(j=0;j<n;j++){
scanf("%d",a[i]+j);
printf("%6d",a[i][j]);
}
printf(" ");
}
change(a,b);
printf(" Afterthetranspose: ");
for(i=0;i<n;i++){
for(j=0;j<n;printf("%6d",b[i][j++]));
printf(" ");
}
return0;
}

运行样例:

⑦ C语言入门题目,求详细易懂的解答过程。

答案为第一行:Tony。
解答:for循环共循环2次,然后strcpy(a,b)比较两串字符大小,如果strcpy值大于0,则a大于b。具体的比较是看字符串的字母的ASCII码的大小,如果相同,再继续比较第二个,这个不赘述。
主要看一下name[],对于一维数组来讲,它是元素,对于二维数组来讲,它不是具体的元素,而是代表的一维数组。比如name[3][20],为3行20列,那么name[0],它代表的是组成二维数组的第一维数组。又知道puts()括号里可以放一维数组名,可以输出它里面的字符串,对放name[0]的话,那就是输出3行20列中的第一行字符串。
通过for比较我们已经得出结果,即两次for循环都不符合条件,因此,m没有变化,=0。所以puts(nam[0])的话,就是输出Tony。
望楼主采纳。

⑧ C语言,题目有图,刚入门,有些过程看不懂,希望答案有详细过程

源程序的每一句解释(见注释),运行结果,程序的功能和运行结果分析如下

#include<stdio.h>

void main()

{

union//定义一个包含长整型和字符型数组的联合结构

{

long b;//定义一个长整型

char c[4];//定义一个字符型数组

}s;//定义一个联合结构的变量s

s.b= 0xa0000L;//对联合中的长整型赋值

s.c[0]+='A';//对联合中的字符数组的第一个元素赋值

//以十进制整型输出字符数组的第三个元素

//以字符型输出字符数组的第一个元素

printf("%d%c ",s.c[2],s.c[0]);

}