C语言练习1.plus
这里写目录标题
迭代法求根(1)
题目:迭代法求根(1)
问题描述:
用迭代法求 ,求平方根的迭代公式为

要求前后两次求出的x的差的绝对值小于 。
输入说明:
输入浮点数a。
输出说明:
输出一个浮点数x,小数点后保留5位小数。
输入样例:
3
输出样例:
1.73205
#include<stdio.h>
#include<math.h>
int main(){
double xn = 1, x, a;
scanf("%lf", &a);
do{
x = xn;
xn = (x+a/x)/2;
}while(fabs(x-xn) > 1E-5);
printf("%.5lf", xn);
return 0;
}
金字塔打印–字符使用练习
标题
金字塔打印
描述
输入一个要打印的字符和打印行数N(N≤10),使用函数tow()完成字符金字塔的打印。打印结果要求:1、打印输入的字符;2、逐行增加一个字符;3、每行均为中心对称分布;4、整体为中心对称分布;5、字符之间空一格空格,字符之前加空格。
输入说明
输入一个字符和打印行数N(N≤10)。
输出说明
格式输出:打印字符金字塔,每行增加一个,字符之间空一格,中心对称分布。
输入样例
a
4
输出样例
提示
注意打印和排布方式要求,使用子函数实现打印。
#include<stdio.h>
void tow(char c,int n);
int main()
{
char c=0;
int n;
scanf("%c",&c);
scanf("%d",&n);
tow(c,n);
}
void tow(char c,int n)
{
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n-i;j++)
{
printf(" ",c);
}
for(int k=1;k<=i;k++)
{
printf("%c ",c);
}
printf("\n");
}
}
数列分段
题目2:数列分段
问题描述
给定一个整数数列,数列中连续相同的最长整数序列算成一段,问数列中共有多少段?
输入格式
输入的第一行包含一个整数n,表示数列中整数的个数。
第二行包含n个整数a1, a2, …, an,表示给定的数列,相邻的整数之间用一个空格分隔。
输出格式
输出一个整数,表示给定的数列有多个段。
样例输入
8
8 8 8 0 12 12 8 0
样例输出
5
样例说明
8 8 8是第一段,0是第二段,12 12是第三段,倒数第二个整数8是第四段,最后一个0是第五段。
评测用例规模与约定
1 ≤ n ≤ 1000,0 ≤ ai ≤ 1000。
#include "stdio.h"
int main(){
int n;
scanf("%d",&n);
int i,j,k;
int a[n];
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
j=a[0];
k=1;
for(i=0;i<n;i++){
if(j!=a[i]){
j=a[i];
k++;
}
}
printf("%d",k);
return 0;
}
最小差值
题目3:最小差值
问题描述
给定n个数,请找出其中相差(差的绝对值)最小的两个数,输出它们的差值的绝对值。
输入格式
输入第一行包含一个整数n。
第二行包含n个正整数,相邻整数之间使用一个空格分隔。
输出格式
输出一个整数,表示答案。
样例输入
5
1 5 4 8 20
样例输出
1
样例说明
相差最小的两个数是5和4,它们之间的差值是1。
样例输入
5
9 3 6 1 3
样例输出
0
样例说明
有两个相同的数3,它们之间的差值是0.
数据规模和约定
对于所有评测用例,2 ≤ n ≤ 1000,每个给定的整数都是不超过10000的正整数。
#include<stdio.h>
int main()
{
int i,j,n,a[10000],mix=10000,max;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n;i++)
for(j=0;j<i;j++)
{
if(a[i]-a[j]==0)
{
mix=0

这篇博客介绍了多个C语言编程练习题,包括迭代法求平方根、金字塔字符打印、数列分段、最小差值计算、数字排序、车牌限行规则判断、阶梯电价计费计算、角谷定理应用、气温波动最大值分析、折点计数、寻找最大整数以及字符大小写转换等。通过这些题目,读者可以加深对C语言编程的理解和运用。
最低0.47元/天 解锁文章
652

被折叠的 条评论
为什么被折叠?



