给定n个整数,请计算每个整数各位数字和,按各位数字和从大到小输出用c语言
时间: 2024-06-13 14:06:04 浏览: 28
以下是用C语言实现给定n个整数,计算每个整数各位数字和,按各位数字和从大到小输出的代码:
```c
#include <stdio.h>
// 计算数字各位之和
int digitSum(int num) {
int sum = 0;
while (num > 0) {
sum += num % 10;
num /= 10;
}
return sum;
}
int main() {
int n;
scanf("%d", &n);
int nums[n];
for (int i = 0; i < n; i++) {
scanf("%d", &nums[i]);
}
// 计算各个数字的各位数字和
int sums[n];
for (int i = 0; i < n; i++) {
sums[i] = digitSum(nums[i]);
}
// 冒泡排序,按各位数字和从大到小排序
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (sums[j] < sums[j
相关问题
用C语言将给定的n个整数从大到小排序后输出。
以下是一个简单的冒泡排序实现,可以实现将n个整数从大到小排序:
```c
#include <stdio.h>
int main()
{
int n, i, j, temp;
int numbers[100];
printf("请输入要排序的数字个数:");
scanf("%d", &n);
printf("请输入要排序的数字:");
for(i=0; i<n; i++)
{
scanf("%d", &numbers[i]);
}
// 冒泡排序
for(i=0; i<n-1; i++)
{
for(j=0; j<n-i-1; j++)
{
if(numbers[j] < numbers[j+1])
{
// 交换两个数的值
temp = numbers[j];
numbers[j] = numbers[j+1];
numbers[j+1] = temp;
}
}
}
// 输出排序后的结果
printf("排序后的结果为:");
for(i=0; i<n; i++)
{
printf("%d ", numbers[i]);
}
return 0;
}
```
假设输入的数字个数为5,数字分别为:5 2 8 1 9,那么输出的排序结果为:9 8 5 2 1。
C语言写一个给定的n个整数从大到小排序后输出。
好的,下面是一个简单的C语言程序,可以实现给定n个整数从大到小排序后输出:
```c
#include <stdio.h>
int main()
{
int arr[100], n, i, j, temp;
printf("请输入要排序的数字个数(最多100个):");
scanf("%d", &n);
printf("请输入%d个数字:\n", n);
for(i=0; i<n; i++)
{
scanf("%d", &arr[i]);
}
// 冒泡排序
for(i=0; i<n-1; i++)
{
for(j=i+1; j<n; j++)
{
if(arr[i] < arr[j])
{
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
// 输出排序结果
printf("排序后的结果为:\n");
for(i=0; i<n; i++)
{
printf("%d ", arr[i]);
}
return 0;
}
```
在程序中,我们首先从用户输入要排序的数字个数n,然后再输入n个数字。接下来使用冒泡排序算法,将这n个数字从大到小排序。最后将排序结果输出到屏幕上。